集合总结 Java
发布时间:
7.12.集合
集合对象:用于管理其他若干对象的对象数组:长度不可变
List:有顺序的,元素可以重复遍历:for迭代
排序:ComparableComparatorCollections.sort(ArrayList:底层用数组实现的List
特点:查询效率高,增删效率低轻量级线程不安全LinkedList:底层用双向循环链表实现的List特点:查询效率低,增删效率高
Vector:底层用数组实现List接口的另一个类特点:重量级,占据更多的系统开销线程安全
Set:无顺序的,元素不可重复(值不相同)遍历:迭代
排序:SortedSet
HashSet:采用哈希算法来实现Set接口
唯一性保证:重复对象equals方法返回为true
重复对象hashCode方法返回相同的整数不同对象哈希码尽量保证不同(提高效率)
SortedSet:对一个Set排序
TreeSet:在元素添加的同时,进行排序。也要给出排序规则
唯一性保证:根据排序规则,compareTo方法返回为0,就可以认定两个对象中有一个是重复对象。
Map:元素是键值对key:唯一,不可重复value:可重复遍历:先迭代遍历key的集合,再根据key得到valueHashMap:轻量级线程不安全允许key或者value是nullHashtable:重量级线程安全不允许key或者value是nullProperties:Hashtable的子类,key和value都是String
SortedMap:元素自动对key排序TreeMap:
集合是指一个对象可以容纳了多个对象(不是引用),这个集合对象主要用来管理维护一系列相似的对象。
7.12.1.集合接口类层次位于packagejava.util.*;Collection↑
|ˉˉˉˉˉˉ|
SetListMap↑↑||SortedSetSortedMap
1Set:集合类中不允许有重复对象;
2SortedSet:和Set接口同,但元素按升序排列;
3List:元素加载和移出时按照顺序,可以保存重复对象。4Map:(key-value对存储了唯一关键字辨识和对应的值。5SortedMap:和Map类同,但对象按他们关键字的升序排列。
7.12.2.集合类层次
(注:JAVA1.5对JAVA1.4的最大改进就是增加了对范型的支持)
Collection↑
|ˉˉˉˉˉˉ|
HashSetLinkedListHashtable(SetVector,ArrayListHashmap(List(Map↑↑||TreeSetTreeMap(SortedSet(SortedMapCollection接口的方法:add(Objecto
addAll(Collectionccontains(Objecto
containsAll(Collectioncremove(Objecto
removeAll(Collectioncclear(
equals(Objecto