1.常用List、Set(Collection接口)Map集合


 数组


 长度固定


 数据类型数:数据


 集合


 长度可变


 存放对象的引用


2.构成Collection的单位被称为元素,Collection接口提供了各种方法,List和Set可以直接使用


add(Object),remove(Object),isEmpty()判断集合是空,iterator()迭代器,size()元素个数


iterator()遍历集合类的标准访问方法,从而避免向客户端暴露集合的内部结构,Iterator it=list.iterator();//创建迭代器 i.hasNext()//判断下一个是否为零 String str=it.next()获取集合中的元素


3.List集合包括List接口和其所实现的类,允许集合中的元素重复,元素的顺序就是对象插入的顺序。List接口实现了Collection接口,还有两个重要的,get(int index) set(int index,Object obj)


 ArrayList


 可变数组


快速随机访问


 否


  允许null


 LinkedList


 链表结构保存


 不能


插入删除效率高


 


4.Set集合中对象不按特定顺序排序,不允许有重复元素


 HashSet


实现Set接口


不保证迭代顺序


 允许null


 TreeSet


 还实现java.util.SortedSet


 自然顺序递增或迭代


 


TreeSet新增方法,first/last()返回Set中第一个或最后一个元素,comparator()返回对Set元素排序的比较器,headSet/tailSet(Object obj)返回一个新的Set集合,包含obj之前/后的元素,subSet(object from,object to)


5.MAP集合,MAP没有提供Collection接口,其提供的是key到value的映射,且单一映射


提供方法,put(key k,value v)集合中添加key和对应的value,containsValue(0bject key/value)集合中含指定的值返回true,get(Object key)存在的key所对应的值,keySet()集合中所有键对象形成Set集合,values()


 HashMap类


基于哈希表


 快速添加和删除


允许null


 TreeMap类


 对象存在一定顺序


 差一些