一、概述
1.Java容器类是用来存对象,存的是对象的引用;
2.Java容器类基本分为三大类:set、list、map,其中set存无序不重复对象,set容器无法记住元素添加的顺序,list存有序可重复对象,list能记住元素添加的顺序,就像可变数组一样,map存键值对,其中key像set集合不可重复,而value更像list集合可重复。
3.Java容器类主要由两个接口派生出来Collection和Map,其中它们的继承树如下图所示:
4.遍历集合的方法
1).使用Iterator对象即迭代器对象,Iterator的方法如下:
使用Iterator对元素进行迭代时,并不是把集合元素本身传给迭代变量,而是把集合元素的值传给了迭代变量,所以使用Iterator来访问容器元素时,元素的值不能被改变,但Iterator的remove方法是能删除集合的元素。同时Iterator是依附于集合类而存在的。
2).使用foreach遍历
Collection array=new ArrayList();
array.add("array1");
array.add("array2");
array.add("array3");
array.add("array4");
Iterator ite=array.iterator();
while(ite.hasNext()){
Object obj=ite.next();
System.out.println(obj);
}
ite.remove();
System.out.println(array);
for(Object obj:array){
System.out.println("obj:"+obj);
}
二、set集合
1.set集合判断两个元素是否相等的依据是equals
set.add("array1");
set.add("array1");
set.add("array2");
set.add("array3");
//[array3, array2, array1]
HashSet
1). HashSet使用Hash算法来存储元素,故具有很好的存取和查找性能,其中HashCode就是其索引。
2)HashSet的特点:a)可以存null值;b)不是同步非线程安全。
TreeSet
1). TreeSet是SortedSet接口的唯一实现,其元素时有序的。