Map四種遍歷方式以及增刪改查方法總結

2021-08-19 00:12:51 字數 1267 閱讀 5314

hashmap

最常用的map,它根據鍵的hashcode 值儲存資料,根據鍵可以直接獲取它的值,具有很快的訪問速度。hashmap最多隻允許一條記錄的鍵為null(多條會覆蓋);允許多條記錄的值為 null。非同步的。

treemap

能夠把它儲存的記錄根據鍵(key)排序,預設是按公升序排序,也可以指定排序的比較器,當用iterator 遍歷treemap時,得到的記錄是排過序的。treemap不允許key的值為null。非同步的。 

hashtable

與 hashmap類似,不同的是:key和value的值均不允許為null;它支援執行緒的同步,即任一時刻只有乙個執行緒能寫hashtable,因此也導致了hashtale在寫入時會比較慢。 

linkedhashmap

儲存了記錄的插入順序,在用iterator遍歷linkedhashmap時,先得到的記錄肯定是先插入的.在遍歷的時候會比hashmap慢。key和value均允許為空,非同步的。

public class mapdemo

//map集合中的key值不能一致,一樣的時候下面的會把上面的覆蓋

system.out.println("-----------update-----------");

map.put("12213", 22);

set> entryset = map.entryset();

iterator> iterator = entryset.iterator();

//entryset關係集迴圈遍歷

while(iterator.hasnext())

system.out.println("-------------delete----------------------");

map.remove("12213");

//用collectionvalues = map.values();

iteratoriterator2 = values.iterator();

while(iterator2.hasnext())

system.out.println("----------通過map.entryset遍歷key和value-----------");

for (entryentry : map.entryset()) }}

總結增強for迴圈使用方便,但效能較差,不適合處理超大量級的資料。

迭代器的遍歷速度要比增強for迴圈快很多,是增強for迴圈的2倍左右。

使用entryset遍歷的速度要比keyset快很多,是keyset的1.5倍左右。

Map四種遍歷方式

mapmap new hashmap map.put key1 value1 map.put key2 value2 map.put key3 value3 第一種 普遍使用,二次取值 system.out.println 通過map.keyset遍歷key和value for string key...

遍歷Map的四種方式

map集合是鍵值對形式儲存的,對map的遍歷無非就是獲取對應的鍵和值,根據不同的map集合可能會使用不同的遍歷方式,我簡單梳理下對map的遍歷方式。private void testmap 2.通過map.entryset使用iterator遍歷key和value iterator it map.e...

map的四種遍歷方式

mapmap new hashmap map.put 1 t1 map.put 2 t2 map.put 3 t3 第一種 普遍使用,二次取值 system.out.println 通過map.keyset遍歷key和value for string key map.keyset 第二種 syste...