Map集合遍历方法

来源:互联网 发布:mac 切换python版本 编辑:程序博客网 时间:2024/06/06 07:04

map集合没有Iterator迭代器,去遍历这个集合只能通过其他方法。
map集合中有两个方法可以遍历集合值:
keySet() 和 entrySet()方法


1.keySet()方法

keySet:    Set<K> keySet()返回此映射中包含的键的 Set 视图。该 set 受映射支持,所以对映射的更改可在此 set 中反映出来,反之亦然。如果对该 set 进行迭代的同时修改了映射(通过迭代器自己的 remove 操作除外),则迭代结果是不确定的。set 支持元素移除,通过 Iterator.removeSet.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()方法

entrySetSet<Map.Entry<K,V>> entrySet()返回此映射中包含的映射关系的 Set 视图。该 set 受映射支持,所以对映射的更改可在此 set 中反映出来,反之亦然。如果对该 set 进行迭代的同时修改了映射(通过迭代器自己的 remove 操作,或者通过对迭代器返回的映射项执行 setValue 操作除外),则迭代结果是不确定的。set 支持元素移除,通过 Iterator.removeSet.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


原创粉丝点击