Collection <類型>
List 可以重複,有順序
ArrayList 主選
結構:數組 特點:查找快,增刪慢 線程不安全,效率高
Vector
結構:數組 特點:查找快,增刪慢 線程安全,效率低
LinkedList
結構:鏈表 特點:查找慢,增刪快 線程不安全,效率低
Set 唯一性,沒有順序
HashSet
結構:哈希表 通過hashCode()、equals()保證元素的唯一性 元素的排列是無序的 線程不安全
LinkedHashSet
結構:鏈表+哈希表 通過hashCode()、equals()保證元素的唯一性 由鏈表保證元素有序 線程不安全
TreeSet
結構:紅黑樹 排序方法有自然排序、比較器排序 唯一性通過存放值時比較返回值是否爲0,0既有相同值 線程不安全
TreeSet實現了對TreeMap的封裝
Map<key,value>
HashMap 主選
結構:哈希表(數組+鏈表) 只允許一個key爲null,可多個值爲null 線程不安全
通過hashCode()、equals()保證元素的唯一性,hashCode()定位數組,equals定位鏈表位置
實現了Serializable接口,因此它支持序列化,實現了Cloneable接口,能被克隆
HashTable
結構:哈希表 不允許null做爲key 線程安全
實現了Serializable接口,它支持序列化,實現了Cloneable接口,能被克隆
TreeMap
結構:紅黑樹 排序方法有自然排序、比較器排序 線程不安全
LinkedHashMap
結構:數組+雙鏈表 線程不安全 繼承自HashMap
實現了Serializable接口,它支持序列化,實現了Cloneable接口,能被克隆
與HashMap相比,LinkedHashMap 的元素是有序的