Map集合遍历方法
map集合沒有Iterator迭代器,去遍歷這個集合只能通過其他方法。
map集合中有兩個方法可以遍歷集合值:
keySet() 和 entrySet()方法
1.keySet()方法
keySet:Set<K> keySet()返回此映射中包含的鍵的 Set 視圖。該 set 受映射支持,所以對映射的更改可在此 set 中反映出來,反之亦然。如果對該 set 進行迭代的同時修改了映射(通過迭代器自己的 remove 操作除外),則迭代結果是不確定的。set 支持元素移除,通過 Iterator.remove、Set.remove、removeAll、retainAll 和 clear 操作可從映射中移除相應的映射關系。它不支持 add 或 addAll 操作。 返回: 此映射中包含的鍵的 set 視圖通過這個方法可以用Set集合來接收Map集合的鍵值,然后通過Set集合的迭代器得到所有的值既是Map集合中鍵值,便可以通過這些鍵值來得到Map集合中key對應的value。
package com.wql;import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set;/*** 遍歷map集合中的鍵值* * @author wql**/ public class MapDemo {public static void main(String[] args) {// TODO 自動生成的方法存根Map<Integer, String> map = new HashMap();method(map);}/*** 遍歷方法*/public static void method(Map<Integer, String> map) {// 添加鍵值map.put(1, "張三");map.put(8, "李四");map.put(6, "王五");// 獲取map集合的key值Set<Integer> set = map.keySet();System.out.println(set);Iterator<Integer> it = set.iterator();while (it.hasNext()) {int key = it.next();String value = map.get(key);System.out.println(key + ":" + value);}} }
運行:
2. entrySet()方法
entrySet Set<Map.Entry<K,V>> entrySet()返回此映射中包含的映射關系的 Set 視圖。該 set 受映射支持,所以對映射的更改可在此 set 中反映出來,反之亦然。如果對該 set 進行迭代的同時修改了映射(通過迭代器自己的 remove 操作,或者通過對迭代器返回的映射項執行 setValue 操作除外),則迭代結果是不確定的。set 支持元素移除,通過 Iterator.remove、Set.remove、removeAll、retainAll 和 clear 操作可從映射中移除相應的映射關系。它不支持 add 或 addAll 操作。 返回: 此映射中包含的映射關系的 set 視圖 package com.wql;import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set;/*** 遍歷map集合中的鍵值* * @author wql**/ public class MapDemo2 {public static void main(String[] args) {// TODO 自動生成的方法存根Map<Integer, String> map = new HashMap();method(map);}/*** 遍歷方法*/public static void method(Map<Integer, String> map) {// 添加鍵值map.put(1, "張三");map.put(8, "李四");map.put(6, "王五");Set<Map.Entry<Integer, String>> entrySet = map.entrySet();Iterator<Map.Entry<Integer, String>> it = entrySet.iterator();while (it.hasNext()) {Map.Entry<Integer, String> me = it.next();int key = me.getKey();String value = map.get(key);System.out.println(key + ":" + value);}} }運行:
關于Map集合其他介紹:http://blog.csdn.net/qq_36330228/article/details/77434742
轉載于:https://www.cnblogs.com/wangqilong/p/8279800.html
總結
- 上一篇: 实战c++中的vector系列--vec
- 下一篇: opencv学习之路(21)、模板匹配及