Collection框架的結構
轉載:https://blog.csdn.net/coodlong/article/details/50835440?utm_source=copy
Collection:List列表,Set集
Map:Hashtable,HashMap,TreeMap
Collection 是單列集合
List 元素是有序的、可重複
有序的 collection,可以對列表中每個元素的插入位置進行精確地控制。
可以根據元素的整數索引(在列表中的位置)訪問元素,並搜尋列表中的元素。
可存放重複元素,元素存取是有序的。
List介面中常用類
Vector
底層資料結構是陣列結構
ArrayList:執行緒不安全,查詢速度快。
底層資料結構是陣列結構
LinkedList:執行緒不安全。增刪速度快。
底層資料結構是列表結構
Set(集) 元素無序的、不可重複。
取出元素的方法只有迭代器。不可以存放重複元素,元素存取是無序的。
Set介面中常用的類
HashSet:執行緒不安全,存取速度快。
它是如何保證元素唯一性的呢?依賴的是元素的hashCode方法和euqals方法。
TreeSet:執行緒不安全,可以對Set集合中的元素進行排序。
它的排序是如何進行的呢?通過compareTo或者compare方法中的來保證元素的唯一性。元素是以二叉樹的形式存放的。
Map 是一個雙列集合
Hashtable:執行緒安全,速度快。底層是雜湊表資料結構。是同步的。
不允許null作為鍵,null作為值。
|--Properties:用於配置檔案的定義和操作,使用頻率非常高,同時鍵和值都是字串。
是集合中可以和IO技術相結合的物件。(到了IO在學習它的特有和io相關的功能。)
HashMap:執行緒不安全,速度慢。底層也是雜湊表資料結構。是不同步的。
允許null作為鍵,null作為值。替代了Hashtable.
|--LinkedHashMap: 可以保證HashMap集合有序。存入的順序和取出的順序一致。
TreeMap:可以用來對Map集合中的鍵進行排序.
Collection 和 Collections的區別
Collection是集合類的上級介面,子介面主要有Set 和List、Map。
Collections是針對集合類的一個幫助類,提供了操作集合的工具方法:一系列靜態方法實現對各種集合的搜尋、排序、執行緒安全化等操作。