collection集合總結
collection
|---list 有序,可充復
|---arraylsit
底層資料結構是陣列,查詢快,增刪慢
執行緒不安全 效率高
|---vector
底層資料是陣列,查詢快增刪慢
執行緒安全,效率低
|---linledlsit
底層資料是鍊錶,查詢慢,增刪快
執行緒不安全 ,效率高
|---set 無序 唯一
|---hashset
底層資料是雜湊表
如何保證元素的唯一性呢?
依賴於兩個方法 hascode
()方法和 equals
()方法
開發中直接自動生成
|---linkedhashset
底層資料結構是雜湊表和煉表
鍊錶保證元素有序
雜湊表保證元素唯一
|---treelsit
底層資料是紅黑樹
如何保證資料排序的呢?
自然排序
讓元素所屬的類實現comparable介面comparato
比較器排序
讓集合構造方法接受comparator實現類物件compare
如何保證元素唯一的呢?
根據比較返回值是否為0來決定
2.針對collection集合我們到底使用誰?
唯一 嗎?
是 :set
排序嗎?
是:treeset
不是:hashset
如果你知道是set但是不知道是那個set,就用hashset
否:list
要安全嗎?
是:vector
不是:arraylist linkedlist
增刪多:linkedlist
查詢多:arraylist
如果你知道是list但是不知道是那個list,就用arraylist
如果你知道是collection但是不知道是那個集合,就用arraylist
如果你知道用集合,就用arraylsit
常見的資料結構:
array***:底層資料結構是陣列,查詢快,增刪慢
linked*** 底層資料結構是鍊錶 查詢慢,增刪快
hash*** 底層資料結構是雜湊表,依賴兩個方法hascode
()方法equals
()和方法
tree*** 底層資料結構是紅黑樹 兩種方式排序:自然排序,比較器排序
集合 Collection集合總結
list有序,可重複 abstractlist 父類abstractcollection抽象類,實現了list介面 arraylist 父類abstractlist 底層資料結構是陣列,查詢快,增刪慢。執行緒不安全,不同步,效率高 vector 父類abstractlist 底層資料結構是陣列,查詢...
Collection集合總結
collection list 有序,可重複 arraylist 底層資料結構是陣列,查詢快,增刪慢。執行緒不安全,效率高 vector 底層資料結構是陣列,查詢快,增刪慢。執行緒安全,效率低 linkedlist 底層資料結構是鍊錶,查詢慢,增刪快。執行緒不安全,效率高 set 無序,唯一 has...
Collection集合 總結筆記
2 set集合 理解 1 set集合的特點 無序,唯一 2 hashset集合 掌握 a 底層資料結構是雜湊表 是乙個元素為鍊錶的陣列 b 雜湊表底層依賴兩個方法 hashcode 和equals 執行順序 首先比較雜湊值是否相同 相同 繼續執行equals 方法 返回true 元素重複了,不新增 ...