HashMap和LinkedHashMap的區別

2021-08-31 19:04:12 字數 804 閱讀 4078

**:

hashmap,linkedhashmap,treemap都屬於map

map 主要用於儲存鍵(key)值(value)對,根據鍵得到值,因此鍵不允許鍵重複,但允許值重複。

hashmap 

是乙個最常用的map,它根據鍵的hashcode 值儲存資料,根據鍵可以直接獲取它的值,具有很快的訪問速度。hashmap最多隻允許一條記錄的鍵為null;允許多條記錄的值為 null;hashmap不支援執行緒的同步,即任一時刻可以有多個執行緒同時寫hashmap;可能會導致資料的不一致。如果需要同步,可以用 collections的synchronizedmap方法使hashmap具有同步的能力。

linkedhashmap

linkedhashmap也是乙個hashmap,但是內部維持了乙個雙向鍊錶,可以保持順序

treemap 可以用於排序

hashmap的例子

public static void main(string args)   

}

輸出:bbccaa

linkedhashmap例子:

public static void main(string args) 

}

輸出:aa

bbcc

總結歸納為:linkedmap在於儲存資料你想保持進入的順序與被取出的順序一致的話,優先考慮linkedmap,hashmap鍵只能允許為一條為空,value可以允許為多條為空,鍵唯一,但值可以多個。

經本人測試linkedmap鍵和值都不可以為空

HashMap和LinkedHashMap的區別

hashmap,linkedhashmap,treemap都屬於map map 主要用於儲存鍵 key 值 value 對,根據鍵得到值,因此鍵不允許鍵重複,但允許值重複。hashmap 是乙個最常用的map,它根據鍵的hashcode 值儲存資料,根據鍵可以直接獲取它的值,具有很快的訪問速度。ha...

HashMap和LinkedHashMap的區別

hashmap,linkedhashmap,treemap都屬於map map 主要用於儲存鍵 key 值 value 對,根據鍵得到值,因此鍵不允許鍵重複,但允許值重複。hashmap 是乙個最常用的map,它根據鍵的hashcode 值儲存資料,根據鍵可以直接獲取它的值,具有很快的訪問速度。ha...

HashMap和LinkedHashMap的區別

hashmap,linkedhashmap,treemap都屬於map map 主要用於儲存鍵 key 值 value 對,根據鍵得到值,因此鍵不允許鍵重複,但允許值重複。hashmap 是乙個最常用的map,它根據鍵的hashcode 值儲存資料,根據鍵可以直接獲取它的值,具有很快的訪問速度。ha...