集合Collection和Map結構原理

2021-09-11 01:25:52 字數 1257 閱讀 3123

list

setmap

attributeofall

arratlist

linkedlist

vector

hashset

treeset

linkedhashset

hashmap

hashtable

linkedhashmap

treemap

資料結構

動態陣列

鍊錶結構,位址任意

動態陣列

雜湊表二叉樹

鍊錶+雜湊表

雜湊雜湊

雜湊表+鍊錶

二叉樹優點

位址連續,索引速度快

新增刪除新能好

實現同步,併發性好

addremovecontains方法 的時間複雜度為常量o(1)

元素是可排序

保留了元素插入順序,時間複雜度為o(1)

定位元素時間複雜度平均能達到o(1)

同步可預知迭代順序

根據其鍵的自然順序進行排序

缺點新增||刪除效能差

索引設計指標移動效能較差

同步會損失部分效能

元素是無序的

addremovecontains方法的時間複雜度為o(log(n))

效能相對低

非同步效能低

時間複雜度平均能達到o(log n)

是否同步

nono

yesno

nono

noyes

nono

可否重複

yesyes

yesno

nono

yesyes

yesyes

可否為null

yesyes

yesyes

nono

yesno

yesyes

初始大小10無

1016

1616

1611

1616

擴容因子

0.5無(鍊錶結構直接往後面新增)11

1111+111

載入因子1無

10.75

0.75

0.75

0.75

0.75

0.75

0.75

集合 Collection集合總結

list有序,可重複 abstractlist 父類abstractcollection抽象類,實現了list介面 arraylist 父類abstractlist 底層資料結構是陣列,查詢快,增刪慢。執行緒不安全,不同步,效率高 vector 父類abstractlist 底層資料結構是陣列,查詢...

Collection集合,List集合

一 collection集合 a collection 集合 單身漢集合 list 特點 有序,可重複,有索引 arraylist 重點掌握 linkedlist 儲存的元素不可重複,訪問順序一致 set 無序,元素不可重複,元素無索引 hashset 重點掌握 linkedhashset tree...

Collection集合 (set集合)

不包含重複元素的集合 即使新增重複元素之後,最終也只能顯示乙個 沒有帶索引的方法,所以不能使用普通的for迴圈遍歷 hashset 對集合的迭代順序不作任何保證 object類中有乙個方法可以獲取物件的雜湊值 public int hashcode 返回物件的雜湊碼值 物件的雜湊值特點 同乙個物件多...