資料結構 單列集合 List集合 Set集合

2021-10-14 15:54:31 字數 995 閱讀 5273

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