Collection集合總結及如何選擇集合

2021-10-08 19:29:05 字數 1480 閱讀 8790

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 元素重複了,不新增 ...