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) {
mapmap = new hashmap();
map.put("a3", "aa");
map.put("a2", "bb");
map.put("b1", "cc");
for (iterator iterator = map.values().iterator(); iterator.hasnext();) {
string name = (string) iterator.next();
system.out.println(name);
輸出:bbccaa
linkedhashmap例子:
public static void main(string args) {
mapmap = new linkedhashmap();
map.put("a3", "aa");
map.put("a2", "bb");
map.put("b1", "cc");
for (iterator iterator = map.values().iterator(); iterator.hasnext();) {
string name = (string) iterator.next();
system.out.println(name);
輸出: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...