JAVA集合默認大小及擴容機制

List 元素是有序的、可重複

Vector: 默認初始容量爲10
線程安全,但速度慢

底層數據結構是數組結構

加載因子爲1:即當 元素個數 超過 容量長度 時,進行擴容

擴容增量:原容量的 1倍

如 Vector的容量爲10,一次擴容後是容量爲20

ArrayList:線程不安全,查詢速度快
默認初始容量爲10

底層數據結構是數組結構

擴容增量:原容量的 0.5倍+1

如 ArrayList的容量爲10,一次擴容後是容量爲16

Set(集) 元素無序的、不可重複。

HashSet:線程不安全,存取速度快

底層實現是一個HashMap(保存數據),實現Set接口

默認初始容量爲16

加載因子爲0.75:即當 元素個數 超過 容量長度的0.75倍 時,進行擴容

擴容增量:原容量的 1 倍

如 HashSet的容量爲16,一次擴容後是容量爲32

HashMap:默認初始容量爲16

加載因子爲0.75:即當 元素個數 超過 容量長度的0.75倍 時,進行擴容

擴容增量:原容量的 1 倍

如 HashSet的容量爲16,一次擴容後是容量爲32

參考:https://www.cnblogs.com/whu-2017/p/9677212.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章