HashMap的使用方法總結 實現原理 使用示例

2021-10-07 13:32:43 字數 3929 閱讀 8931

目錄

存值特點

資料結構:

陣列+單項鍊表+紅黑樹

**: 變數

建構函式

public hashmap()

public hashmap(int initialcapacity):自定義陣列長度

public hashmap(int initialcapacity, float loadfactor):自定義陣列長度和家在因子

public hashmap(map m):通過map初始化

public void clear():陣列對應的值置空,即清空map

public object clone():轉殖map

public set> entryset():獲取鍵值對entry的set集合

public void foreach(biconsumer action):遍歷

public v getordefault(object key, v defaultvalue):key存在返回value,key不存在返回defaultvalue

public boolean isempty():判斷集合是不是空

public set keyset():獲取key的set集合

public void putall(map m):putmap

public v putifabsent(k key, v value):key不存在就新增

public boolean remove(object key, object value):對應的key、value存在就刪除

public v replace(k key, v value):替換可以對應的value的值

public void replaceall(bifunction function):根據自定義規則修改元素

public int size():map的長度

public collection values():獲取值得集合

key和value都可以為空

鍊錶長度》=8:鍊錶變為紅黑樹

紅黑樹長度<=6:紅黑樹變為鍊錶

鍊錶節點

static class nodeimplements map.entry

}

結果:

public class test 

}

結果

{}
注意:要用全名定義hashmapmap = new hashmap<>(4);,不能寫成mapmap = new hashmap<>(4);

public class test 

}

結果:對轉殖的修改,不會影響原來的map

修改key=3,的value的值

public class test );

map.compute(2,(k,v)->);

system.out.println(test);

system.out.println(map);

}}

結果:1、對應的key存在,修改key對應value的值,2、如果對應的key不存在,新增乙個key、value

31

public class test 

}

結果:1、存在直接返回;2、key不存在就新增乙個值

3

test

public class test 

}

結果:1、對key存在的進行操作;2、對key不存在的不作處理

test

null

public boolean containskey(object key),containsvalue(object value):包含key、包含值
public class test 

}

結果:

true

false

true

false

public class test 

}}

結果:

112

2334

2

public class test );

}}

結果:

1:1

2:23:3

4:2

public class test 

}

結果:

1

6

public class test 

}

結果:

false
public class test 

}}

結果:

1:1

2:23:3

4:2

public class test );

map.merge(2,"5",(key,value)->);

map.merge(7,"1",(key,value)->);

map.merge(5,"6",(key,value)->);

system.out.println(map);

}}

結果:

public class test 

}

結果:

public class test 

}

結果:

public class test 

}

結果:

public class test 

}

結果:

public boolean replace(k key, v oldvalue, v newvalue):替換key、oldvalue存在元素的value為newvalue
public class test 

}

結果:

修改key>2的value為test

public class test 

return value;

});system.out.println(map);

}}

結果:

public class test 

return value;

});system.out.println(map);

}}

public class test 

system.out.println(map);

}}

結果:

123

2

HashMap的使用方法詳解

hashmap是一種十分常用的資料結構物件,可以儲存鍵值對,下面將詳細介紹hashmap的使用方法。put方法,可以單次向hashmap中新增乙個鍵值對。注意 新增到map中的資料,與list不一樣,是沒有順序的。順序是根據雜湊演算法得出的,不用深究。putall方法,可以把乙個hashmap集合物...

map 和 hash map 的使用方法

1。目錄 map簡介 map的功能 使用map 在map中插入元素 查詢並獲取map中的元素 從map中刪除元素 2。map簡介 map是一類關聯式容器。它的特點是增加和刪除節點對迭代器的影響很小,除了那個操作節點,對其他的節點都沒有什麼影響。對於迭代器來說,可以修改實值,而不能修改key。3。ma...

使用方法總結

變數賦值 name xiaoming 程式互動 name input 請輸入你的名字 sum int input 請輸入你的名字 變成數字型,和數字比較 type 查詢資料型別的方法 a 2 print a,type a 結果 123 格式化輸出 msg 是佔位符 s 數字型 bit length ...