Collection接口的特点:
1.有序性2.可重复 3.同步性
实现类的构造方法: 实现collection接口的集合是可以互相转换的。
List:
主要用到的已实现的集合:
List<String> list=new ArrayList<String>();
1.ArrayList:底层用数组存储, 非同步, 最适合查找操作。
循环方法:
1.1用普通的for循环进行循环控制,用list.size()控制循环次数.
for(int i=0;i<list.size();i++){
// 增添操作 list.add( index, E elemtnt);
//按索引取操作 list.get( index );
//按索引删除操作 list.remove(index);
}
1.2 用迭代器iterator循环,用while语句进行循环控制,it.hasNext()控制循环次数.
Iterator<string> it=list.iterator();
while(it.hasNext()){
//用it.next()输出System.out.println(it.next());
}
1.3 用增强型for循环
for( String s: list ){
// 增添操作 list.add( index, E element );
//按索引取操作 list.get( index );
//按索引删除操作 list.remove(index);
}
2.LinkedList:底层用链表存储, 非同步,最适合增加, 删除操作。
循环方法:
2.1用普通for循环进行循环控制, 用list.size()控制循环次数.
for(int i=0;i<list.size();i++){
//常用操作 list.add(index, E element);
list.get(index);
list.getFirst();
list.getLast();
list.remove(index);
}
2.2用迭代器 iterator循环, 用it.hasNext()语句控制循环次数.
Iterator it=list.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
2.3增强型for循环
for( String s: list){
//常用操作
list.add(index, E element);
list.get(index);
list.getFirst();
list.getLast();
list.remove(index);
}
3.Vector:底层用数组存储, 同步
循环方法:同ArrayList差不多。
3.1 用普通for循环控制,
for(int i=0;i<list.size();i++){
// 增添操作 list.add( index, E elemtnt);
//按索引取操作 list.get( index );
//按索引删除操作 list.remove(index);
}
3.2 用迭代器iterator循环, 语句it.hasNext()控制循环次数
Iterator it=list.iterator();
while(it.hasNext() ){
//输出 System.out.println(it.next() );
}
Set:
主要用到的已实现的集合:
Set<E> set=new HashSet<E>();
1.HashSet:底层用HashMap实现,用哈希表存储,主要用来做高性能集运算,集合中的元素无序,不重复,非同步。
循环方法:
1.1用迭代器iterator循环,语句it.hasNext()控制循环次数。
Iterator it=set.iterator();
while(it.hasNext() ){
//进行具体操作System.out.println( it.next());
}
1.2 用toArray方法将HashSet转为数组,再用增强型for输出
Object[] obj = set.toArray();
for(Object o : obj ){
//Student为一实例对象Student s =(Student) o;
//进行具体操作System.out.println( s.toString() );
}
2.TreeSet:底层用TreeMap实现,用二叉树存储,即有序但需实现Comparator接口,最好于equals()方法一致,非同步。
2.1 用迭代器iterator循环,语句it.hasNext()控制循环次数。
Iterator it=set.iterator();
while(it.hasNext() ){
//具体操作Sytem.out.println(it.next() );
}
2.2 用toArray方法将TreeSet转为数组,再用增强型for输出
Object[] obj=set.toArray();
for(Object o:obj){
//Student为一实例对象Student s = (Student) o;
//进行具体操作System.out.println( s.toString());