zoukankan      html  css  js  c++  java
  • 【Java】【集合类】Java Map集合 遍历 五种方式(包含 Lambda 表达式遍历)

    示例代码如下:

    复制代码
    package com.miracle.luna.lambda;
    
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;
    
    /**
     * @author Miracle Luna
     * @version 1.0
     * @date 2019/6/9 21:41
     */
    public class TraverseMap {
        public static void main(String[] args) {
            Map<String, String> map = new HashMap<String, String>();
            map.put("key1", "value1");
            map.put("key2", "value2");
            map.put("key3", "value3");
    
            // 第一种遍历方式
            System.out.println("第一种遍历方式:通过遍历 Map 的 keySet,遍历 Key 和 Value");
            for (String key : map.keySet()) {
                System.out.println("Key: " + key + ", Value: " + map.get(key));
            }
    
            // 第二种遍历方式(如果在遍历过程中,有删除某些Key-Value的需求,可以使用这种遍历方式)
            System.out.println("
    第二种遍历方式:通过Iterator 迭代器遍历 Key 和 Value");
            Iterator<Map.Entry<String, String>> iterator = map.entrySet().iterator();
            while(iterator.hasNext()) {
                Map.Entry<String, String> entry = iterator.next();
                System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
            }
    
            // 第三种遍历方式(推荐,尤其是容量大时)
            System.out.println("
    第三种遍历方式:通过遍历 Map 的 entrySet,遍历 Key 和 Value");
            for (Map.Entry<String, String> entry : map.entrySet()) {
                System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
            }
    
            // 第四种遍历方式
            System.out.println("
    第四种遍历方式:通过遍历 Map 的 values,只能遍历 Value,获取不到对应的 Key");
            for (String value : map.values()) {
                System.out.println("Value: " + value);
            }
    
            // 第五种遍历方式(JDK 1.8支持的 Lambda 表达式,强烈推荐!!!)
            System.out.println("
    第五种遍历方式:通过 Lambda 表达式,遍历 Key 和 Value");
            map.forEach((key, value) -> {
                System.out.println("Key: " + key + ", Value: " + value);
            });
    
        }
    }
    复制代码

    运行结果如下:

    复制代码
    第一种遍历方式:通过遍历 Map 的 keySet,遍历 Key 和 Value
    Key: key1, Value: value1
    Key: key2, Value: value2
    Key: key3, Value: value3
    
    第二种遍历方式:通过Iterator 迭代器遍历 Key 和 Value
    Key: key1, Value: value1
    Key: key2, Value: value2
    Key: key3, Value: value3
    
    第三种遍历方式:通过遍历 Map 的 entrySet,遍历 Key 和 Value
    Key: key1, Value: value1
    Key: key2, Value: value2
    Key: key3, Value: value3
    
    第四种遍历方式:通过遍历 Map 的 values,只能遍历 Value,获取不到对应的 Key
    Value: value1
    Value: value2
    Value: value3
    
    第五种遍历方式:通过 Lambda 表达式,遍历 Key 和 Value
    Key: key1, Value: value1
    Key: key2, Value: value2
    Key: key3, Value: value3
    复制代码

    PS:

    总结,参考如下:

    Enum枚举 遍历判断 四种方式(包括 Lambda 表达式过滤)
    https://www.cnblogs.com/miracle-luna/p/10995539.html

    Array数组 遍历 四种方式(包含 Lambda 表达式遍历)
    https://www.cnblogs.com/miracle-luna/p/10995469.html

    List集合 遍历 四种方式(包含 Lambda 表达式遍历)
    https://www.cnblogs.com/miracle-luna/p/10995400.html

    Map集合 遍历 五种方式(包含 Lambda 表达式遍历)
    https://www.cnblogs.com/miracle-luna/p/10995132.html

  • 相关阅读:
    数据库 proc编程三
    数据库 Proc编程二
    数据库 Proc编程一
    数据库 Oracle数据库对象二
    Your local changes to the following files would be overwritten by merge: ... Please, commit your changes or stash them before you can merge
    生活感悟关键字
    科3
    NGINX 健康检查和负载均衡机制分析
    django模板里关闭特殊字符转换,在前端以html语法渲染
    django 获取前端获取render模板渲染后的html
  • 原文地址:https://www.cnblogs.com/zzsuje/p/15109006.html
Copyright © 2011-2022 走看看