zoukankan      html  css  js  c++  java
  • Map的5种遍历方式

    Map的5种遍历方式

    Map<String, String> map = new HashMap<String, String>();
    map.put("bors", "博士");
    map.put("bear2", "熊二");

    1.entrySet遍历(墙裂推荐!!!)

    for (Map.Entry<String, String> entry : map.entrySet()) {
        String k = entry.getKey();
        String v = entry.getValue();
        System.out.println(k + " : " + v);
    }

    2.在for循环中遍历key或者value,一般适用于只需要map中的key或者value时使用,在性能上比使用entrySet较好

    //key
    for (String key : map.keySet()) {
        System.out.println(key);
    }
    //value
    for (String value : map.values()) {
        System.out.println(value);
    }

    3.通过Iterator遍历

    Iterator<Map.Entry<String, String>> entries = map.entrySet().iterator();
    while (entries.hasNext()) {
        Map.Entry<String, String> entry = entries.next();
        String key = entry.getKey();
        String value = entry.getValue();
        System.out.println(key + " : " + value);
    }

    4.通过键找值遍历,这种方式的效率比较低,因为本身从键取值是耗时的操作

    for (String key : map.keySet()) {
        String value = map.get(key);
        System.out.println(key + " : " + value);
    }

    5.java8 Lambda, 性能低于entrySet,所以更推荐用entrySet的方式

    map.forEach((k, v) -> {
        System.out.println(k + " : " + v);
    });





     
  • 相关阅读:
    学习笔记2-查看目录文件
    学习笔记1-基本信息及相关目录
    【图论】二分图最大匹配
    【图论】Dinic算法
    【图论】最小割
    【数据结构】左偏树
    【数学】欧拉定理
    【数据结构】ST表
    【数学】博弈模型
    【字符串】后缀数组
  • 原文地址:https://www.cnblogs.com/bors/p/map.html
Copyright © 2011-2022 走看看