zoukankan      html  css  js  c++  java
  • Map集合遍历方法

    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()方法

    entrySet
    Set<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


  • 相关阅读:
    POJ1741
    聪聪可可
    [USACO07NOV]Cow Relays
    Android 程序的反破解技术
    在Android上实现SSL握手(客户端需要密钥和证书),实现服务器和客户端之间Socket交互
    vmware中的bridge、nat、host-only的区别
    史上最易懂的Android jni开发资料--NDK环境搭建
    使用javah生成.h文件, 出现无法访问android.app,Activity的错误的解决
    Android apk反编译基础(apktoos)图文教程
    Smali文件语法解析
  • 原文地址:https://www.cnblogs.com/wangqilong/p/9417566.html
Copyright © 2011-2022 走看看