java集合的总结
1.collection和map
collection和map都是顶层接口
(1)collection接口没有直接的实现类,有两个继承自collection接口的接口list和set
(2)list和set都是接口
list的常见实现类有ArrayList,Vector,LinkedList
ArrayList:底层的数据结构是数组,查询快,增删慢,线程不安全,效率高
Vector:底层的数据结构是数组,查询快,增删慢,线程安全,效率低
LinkedList:底层的数据结构是双向链表,查询慢,增删快,线程不安全,效率高
举例说明:
List list = new ArrayList();
list.add("王小虎1”);
list.add("王小虎2”);
list.add("王小虎3”);
list.add("王小虎4”);
上面三种集合的遍历方法有三种
第一种普通for
for(int i = 0; i<list.size();i++){
system.out.println(list.get(i) );
}
第二种增强for
for(Object o : list){
system.out.println(o );
}
第三种iterator
Iterator it = list.iterator();
while(it.hasNext()){
Object o = it.next();
system.out.println(o);
}
set 接口,无序,存储的对象不可重复
Set set = new HashSet();
set.add(“王小虎1”);
set.add(“王小虎2”);
set.add(“王小虎3”);
set.add(“王小虎4”);
for (Object o :set){
System.out.println(o);
}
遍历的结果是:
王小虎4
王小虎3
王小虎2
王小虎1
说明,HashSet存储的顺序是无序的
但是TreeSet是有序的,用二叉树进行排序的
Set set1 = new TreeSet();
set1.add(“王小虎1”);
set1.add(“王小虎2”);
set1.add(“王小虎3”);
set1.add(“王小虎4”);
for (Object o :set1){
System.out.println(o);
}