各集合之間的區別

2021-10-09 19:41:17 字數 980 閱讀 9521

1.list (特點:可以新增重複的元素,有順序)

list有兩個子類:

(1).arraylist:  

優點:get和set呼叫花費常數時間

缺點:新項的插入和現有項的刪除**代價昂貴,除非是在末端進行

(2).linkedlist:

優點:新項的插入和現有的項的刪除開銷小

缺點:對get和呼叫昂貴

2.set(特點:不儲存重複的元素,沒有順序)

set也有兩個子類:

(1)hashset:速度最快,沒有明顯的順序儲存元素,集合元素可以是null,但只能放入乙個null

(2)treeset:按照比較結果的公升序儲存物件

(3)linkedhashset:按照被新增的順序儲存物件

3,arraylist和linklist的區別?

arraylist(陣列結構):

優點:get和set呼叫花費常數時間,也就是查詢的速度快;

缺點:新項的插入和現有項的刪除代價昂貴,也就是新增刪除的速度慢

linkedlist(鍊錶結構):

優點:新項的插入和和現有項的刪除開銷很小,即新增和刪除的速度快

缺點:對get和set的呼叫花費昂貴,不適合做查詢

4,hashset、treeset、linkedhashset區別?

①.在map中插入、刪除和定位元素,hashmap是最好的選擇

②.需要集合有排序功能,使用treemap更好

③.需要按照插入的順序儲存集合,使用linkedhashmap

5,hashmap、treemap、linkedhashmap區別?

①.在map中插入、刪除和定位元素,hashmap是最好的選擇

②.需要集合有排序功能,使用treemap更好

③.需要按照插入的順序儲存集合,使用linkedhashmap

JDK各集合的底層實現

儲存時 計算key的hash,對映到entry table hashresult length 有乙個threshold變數,在某一鍊錶的長度超過預設值時,會發生hashmap的擴容,捅的擴容完成後,會根據entry.hash重新寫入鍊錶。還有乙個loadfactor,裝載 全部容量大於預設值,也會...

集合之間區別

arraylist 預設初始容量10 載入因子 1 擴容1.5倍 底層資料結構是陣列結構 執行緒不安全,效率高 hashmap 預設初始容量是16 2的n次方 載入因子0.75 擴容2倍 若有設定初始容量,則使用大於此初始容量的最小2的冪。執行緒不安全,效率高 支援key跟value為null ha...

總結 Java集合之間的區別

1 集合中包含以下 collection介面 list介面 set介面 queue介面 arrays陣列 map介面 2 collection介面 2 1 有以下方法 名稱作用 size 返回集合中的項數 isempty 判斷集合是否為空 contains object contains objec...