map介面提供三個集合檢視:
(1)set keyset():返回map中包含的所有key的乙個set檢視。
(2)collection values():返回乙個map中包含的所有value的乙個collection檢視。
(3)set> entryset():返回乙個map鐘包含的所有對映的乙個集合檢視。
第一種:keyset()
將 map 中所有的鍵存入到 set 集合中。因為 set 具備迭代器。所有可以迭代方式取出所有的鍵,再根據 get 方法。獲取每乙個鍵對應的值。 keyset (): 迭代後只能通過 get () 取 key 。
取到的結果會亂序,是因為取得資料行主鍵的時候,使用了 hashmap.keyset () 方法,而這個方法返回的 set 結果,裡面的資料是亂序排放的。
典型用法如下:
map map = new hashmap();
map.put("key1","lisi1");
map.put("key2","lisi2");
map.put("key3","lisi3");
map.put("key4","lisi4");
// 先獲取 map 集合的所有鍵的 set 集合,keyset()
iterator it = map.keyset().iterator();
// 獲取迭代器
while(it.hasnext())
第二種:entryset()
set> entryset () // 返回此對映中包含的對映關係的 set 檢視。(乙個關係就是乙個鍵 - 值對),就是把 (key-value) 作為乙個整體一對一對地存放到 set 集合當中的。map.entry 表示對映關係。entryset ():迭代後可以 e.getkey (),e.getvalue () 兩種方法來取 key 和 value。返回的是 entry 介面。
典型用法如下:
map map = new hashmap();
map.put("key1","lisi1");
map.put("key2","lisi2");
map.put("key3","lisi3");
map.put("key4","lisi4");
// 將 map 集合中的對映關係取出,存入到 set 集合
iterator it = map.entryset().iterator();
while(it.hasnext())
推薦使用第二種方式,即 entryset () 方法,效率較高。
對於 keyset 其實是遍歷了 2 次,一次是轉為 iterator,一次就是從 hashmap 中取出 key 所對於的 value。而 entryset 只是遍歷了第一次,它把 key 和 value 都放到了 entry 中,所以快了。兩種遍歷的遍歷時間相差還是很明顯的。
public class mapiterator
iterator iterator = list.iterator();
while (iterator.hasnext())
system.out.println("");
}public static void mapmethod()
iterator iterator = map.entryset().iterator();
while (iterator.hasnext())
}public static void main(string args)
}
結果為:
list 通過 iterator 遍歷:
0 1 2 3 4 5 6 7 8 9
map 通過 iterator 遍歷:
key: key1 value: value1
key: key2 value: value2
key: key0 value: value0
key: key5 value: value5
key: key6 value: value6
key: key3 value: value3
key: key4 value: value4
key: key9 value: value9
key: key7 value: value7
key: key8 value: value8
可以看到hashmap遍歷的結果是亂序的,在map集合中,treemap是有序的
遍歷map集合
map集合的遍歷 mapmap new hashmap map.put 小明 小紅 map.put 小王 小麗 map.put 小李 小美 map.put 小吳 小娜 獲得鍵值對 物件的集合 set set map.entryset for map.entryme set 結果小明 小紅 小李 小美...
map集合的遍歷
map集合的第一種遍歷方式 通過鍵找值的方式 map集合中的方法 set keyset 返回此對映中包含的鍵的 set 檢視。實現步驟 1.使用map集合中的方法keyset 把map集合所有的key取出來,儲存到乙個set集合中 2.遍歷set集合,獲取map集合中的每乙個key 3.通過map集...
Map集合的遍歷
實現步驟 使用map集合中的方法,public v put k key,v value 把集合中的元素從kay中取出來,儲存到乙個set集合當中。通過遍歷set集合,獲取map中的kay.通過map集合中的set entryset 找到value mapdame01 new hashmap dame...