Java的集合对象都有哪些?

2014-11-23 19:03:30 · 作者: · 浏览: 15

List: 有顺序的,元素可以重复


遍历:for 迭代


排序:Comparable Comparator Collections.sort()


ArrayList:底层用数组实现的List


特点:查询效率高,增删效率低 轻量级 线程不安全


LinkedList:底层用双向循环链表 实现的List


特点:查询效率低,增删效率高


Vector: 底层用数组实现List接口的另一个类


特点:重量级,占据更多的系统开销 线程安全



Set:无顺序的,元素不可重复(值不相同)


遍历:迭代


排序:SortedSet


HashSet:采用哈希算法来实现Set接口


唯一性保证:重复对象equals方法返回为true


重复对象hashCode方法返回相同的整数


不同对象 哈希码 尽量保证不同(提高效率)



SortedSet:对一个Set排序


TreeSet:在元素添加的同时,进行排序。也要给出排序规则


唯一性保证:根据排序规则,compareTo方法返回为0,就可以认定两个对象中有一个是重复对象。



Map:元素是键值对 key:唯一,不可重复 value:可重复


遍历:先迭代遍历key的集合,再根据key得到value


HashMap:轻量级 线程不安全 允许key或者value是null


Hashtable:重量级 线程安全 不允许key或者value是null


Properties:Hashtable的子类,key和value都是String



SortedMap:元素自动对key排序


TreeMap:



集合是指一个对象可以容纳了多个对象(不是引用),这个集合对象主要用来管理维护一系列相似的对象。