標籤:hash 數組 原型 zab linked tor 實現 strong tab
總共有兩大介面:Collection 和Map ,一個元素集合,一個是索引值對集合; 其中List和Set介面繼承了Collection介面,一個是有序元素集合,一個是無序元素集合;而ArrayList和 LinkedList 實現了List介面,HashSet實現了Set介面,這幾個都比較常用; HashMap 和HashTable實現了Map介面,並且HashTable是安全執行緒的,但是HashMap效能更好;
注意:所有集合(List、Set以及Map)都實現了Cloneable(原型模式)和Serializable(序列化)
java.util.Collection [I]
|—java.util.List [I]
|—java.util.ArrayList [C]
|—java.util.LinkedList [C]
|—java.util.Vector [C]
|—java.util.Stack[C]
|—java.util.Set [I]
|—java.util.HashSet [C]
|—java.util.SortedSet [I]
|—java.util.TreeSet [C]
java.util.Map [I]
|—java.util.SortedMap [I]
|—java.util.TreeMap [C]
|—java.util.Hashtable [C]
|—java.util.HashMap [C]
|—java.util.LinkedHashMap [C]
|—java.util.WeakHashMap [C]
Java集合類裡最基本的介面有:
Collection:單列集合的根介面
List:元素有序 可重複
ArrayList:類似一個長度可變的數組 。適合查詢,不適合增刪
LinkedList:底層是雙向迴圈鏈表。適合增刪,不適合查詢。
Set:元素無序,不可重複
HashSet:根據對象的雜湊值確定元素在集合中的位置
TreeSet: 以二叉樹的方式儲存元素,實現了對集合中的元素排序
Map:雙列集合的根介面,用於儲存具有鍵(key)、值(value)映射關係的元素。
HashMap:用於儲存索引值映射關係,不能出現重複的鍵key
TreeMap:用來儲存索引值映射關係,不能出現重複的鍵key,所有的鍵按照二叉樹的方式排列
Java集合類架構的基本介面有哪些?