列表
特点
-有序的Collection
-允许重复
主要实现
-ArrayList
-LinkList
-vector(同步)
ArrayList
以数组实现的列表,不支持同步,利用索引可以快速访问,不适合大规模的插入删除,适合变化不大的,主要查询的操作,每次扩容50%;
ArrayList <T> a1=new ArrayList<T>;
a1.add();
a1.get();
a1.remove(3);//删除第四个元素
a1.add(3,9);将9添加到第四个元素,后面元素后移
遍历方法:Iterator,索引遍历,for-each;
速度:for>索引>Iterator
LinkList
以双向链表来实现,不支持同步,可以当作堆栈使用,插入和删除比较高效;
可以有addfirst;
遍历速度:for>索引>Iterator;
Vector
和ArrayList类似,Vector可以同步进行多线程;
遍历速度:for>索引>Iterator
set
- 确定性
- 互异性
- 无序性
主要的类
- HashSet
- TreeSet
- LinkedHashSet
HashSet
-基于HashMap实现,可以容纳NULL,不支持同步
一般常用的方法
- add
- clear
- size
- contains
- remove
- retainAll//查交集
HashSet <T> hs=new HashSet<T>;
//迭代器遍历
Interator<T> iter1 =hs.interator;
while(iter1..hasnext){
inter1.next;
}
获取的方法:interator,for-each
获取速度 for>interator;
LinkedHashSet
基于HashMap实现,可以容纳NULL,不支持同步,方法基本与HashSet一致,通过双向链表维护插入顺序
TreeSet
基于TreeMap实现,不可容纳NULL元素,
通过compareTo或指定Comparator排序
从小到大输出
只能放入对象就是大数
equals,toString,hashCode三位一体的