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...