1.Java中的Collection集合總結
Collection
|---List(儲存有序,可重複)
|---ArrayList
底層資料結構是陣列,查詢快,增刪慢。
執行緒不安全、效率高
|---Vector
底層資料結構是陣列,查詢快,增刪慢。
執行緒安全、效率低。
|---LinkedList
底層資料結構是連結串列,查詢慢,增刪快。
執行緒不安全,效率高
|---Set(儲存無序,元素唯一)
|---HashSet
底層資料結構是雜湊表。
依賴hashCode()和equals()兩個方法進行保證元素唯一性,開發中使用開發工具自動生成就好。
|---LinkedHashSet
底層資料結構是連結串列和雜湊表
連結串列保證元素有序
雜湊表保證元素唯一
|---TreeSet
底層資料結構是紅黑樹。
如何保證元素排序呢?自然排序或者比較器排序。
如何保證元素唯一呢?根據比較結果是否為0來進行判斷。
Map
|---HashMap
底層是陣列連結串列,使用hash演算法來保證元素儲存位置
|---LinkedHashMap
|---TreeMap
底層是紅黑樹實現。
集合中常見的資料結構總結
ArrayXxx:底層資料結構是陣列,查詢快,增刪慢
LinkedXxx:底層資料結構是連結串列,查詢慢,增刪快
HashXxx:底層資料結構是雜湊表。依賴兩個方法:hashCode()和equals()
TreeXxx:底層資料結構是二叉樹。兩種方式排序:自然排序和比較器排序
Collection和Collections的區別?
1.Collection 是單列集合的頂層介面,有兩個子介面List和Set
2.Collections 是針對集合進行操作的工具類,可以對集合進行排序和查詢等