1、陣列特點:
查詢快:位址是連續的,通過首位址可以找到陣列,通過索引 可以快速查詢某個元素
增刪慢:陣列的長度是固定的,要增刪某個元素,必須重新建立乙個陣列,把資料複製過來
2、arraylist特點:
底層也是使用陣列實現,兼具陣列的特點
3、linkedlist特點:
底層是鍊錶結構
增刪快(因為如果要刪除a和b之間的節點,只需用a提供的地 址,查詢下乙個next位置即可)
查詢慢 (因為各個元素位址不連續,要查詢某個元素,需要重頭遍歷)
4、vector集合特點:
底層是乙個陣列,跟arraylist一樣,只不過是單執行緒,實現較慢
從1.1版本開始就有了.
hashset特點:
底層是乙個雜湊表,查詢速度十分快
雜湊值
乙個十進位制的整數,由系統隨機給出(代表邏輯位址,而不是真實的實體地址)
object中有乙個方法可以返回物件的雜湊值:
public native int hashcode()
native:代表該方法呼叫了本地作業系統的方法
(雜湊值與tostring方法返回的位址是一樣的,只不過後者是 16進製制,前者是十進位制)
儲存資料的結構:雜湊表
1.8之前:雜湊表 = 鍊錶 + 陣列
1.8之後:雜湊表 = 鍊錶 + 陣列 + 紅黑樹
新增元素過程:
使用時注意:
有序:是因為多了個鍊錶來儲存序號
不可重複
無索引
單列集合List
1.vector和arraylist以及linkedlist區別和聯絡,以及分別的應用場景 執行緒安全 vector 與arraylist一樣,也是通過陣列實現的,不同的它支援執行緒的同步,底層採用synchronized同步方法進行加鎖,所以執行緒安全 即某一時刻只有乙個執行緒能夠寫vector,...
集合遍歷方式和List資料結構
collection集合 建立collection集合的物件 collection集合常用方法 1.2collection集合的遍歷 迭代器介紹 iterator中的常用方法 boolean hasnext 判斷當前位置是否有元素可以被取出 e next 獲取當前位置的元素,將迭代器物件移向下乙個索...
資料結構 集合
陣列 陣列長度在初始化的時候就已經固定,不適合物件數量未知的情況。下圖為collection 於的部落格 下圖為map 於網路 1.介紹一下list比較常用的集合 有序,值允許重複 1 arraylist 底層實現 private static final object defaultcapacit...