Java集合:TreeSet、TreeMap、HashSet、HashMap、HashTable、ArrayList、LinkedList、Vector集合的全部比较

List , Set, Map都是接口,前两个继承至Collection接口,Map为独立接口

Set下有HashSet,LinkedHashSet,TreeSet

List下有ArrayList,Vector,LinkedList

Map下有Hashtable,LinkedHashMap,HashMap,TreeMap

Collection接口下还有个Queue接口,有PriorityQueue类

总结: hash打头都是无序,set就是唯一,可以用来去重,除了Vector Hashtable 安全,其他都不安全

有序 :ArrayList LinkedList Vector LinkedHashSet TreeSet TreeMap

无序: HashSet HashMap HashTable

唯一 :HashSet LinkedHashSet TreeSet

重复 :ArrayList LinkedList Vector

安全: Vector Hashtable

不安全: ArrayList LinkedList HashMap HashSet LinkedHashSet TreeSet

如果要使用线程安全可以Collections.synchronizedSet()

TreeSet的主要功能用于排序

LinkedHashSet的主要功能用于保证FIFO即有序的集合(先进先出)

HashSet只是通用的存储数据的集合

Java集合:TreeSet、TreeMap、HashSet、HashMap、HashTable、ArrayList、LinkedList、Vector集合的全部比较

上一篇:set接口


下一篇:Cyanogen 宣布年底关停服务, CM fork 为 Lineage