Java 集合類框架
助記:(Sorted ——天然順序)
1.List
可自定義排序,可視作陣列,索引從0開始
a.ArrrayList 依賴陣列實現,對元素隨機訪問的效能很好,若進行大量的插入,刪除操作,效能很差
b. Vector 與ArrayList基本相同,但功能方法是同步的,同時只能有一個執行緒訪問。
c. LinkedList 內部依靠雙鏈表實現,有很好的刪除,插入效能,但隨機訪問元素的效能相對較差。
2.Set
Set中equals方法比較任何兩個物件都返回False,即Set不允許有重複的元素。
a. HashSet 元素儲存不按照任何順序,按雜湊策略儲存,可新增NULL一次,每次新增都呼叫HashCode方法
b. LinkedHashSet 自定義排序,採用雙鏈表實現,預設按插入順序排序,其餘與HashSet一致
c. SortedSet 按天然順序排序與遍歷。
d. TreeSet 按天然順序排序,不使用雜湊策略,呼叫CompareTo方法,按二叉樹(紅-黑二叉樹)結構儲存,插入新的元素時不必與所有原有元素比較
1. HashMap 既不是Ordered也不是Sorted,按雜湊策略儲存
2. Hashtable 與HashMap基本相同,但元素操作時同步的,損害效能,不允許NULL鍵的存在。
3. LinkedHashMap 通過雙鏈表實現的Map,Ordered型別,鍵按照插入集合的順序儲存,基本功能和HashMap相同,插入/刪除效率比HashMap差,遍歷效率比HashMap高
4. SortedMap Sorted型別,需實現Comparable介面
5. TreeMap 遍歷時按天然順序
閱讀(231) | 評論(0) | 轉發(1) | 給主人留下些什麼吧!~~ 評論熱議