zoukankan      html  css  js  c++  java
  • map集合的4种遍历方式

    这里来总结下Map集合的4种遍历方式。

    先来初始化一个Map。

    Map<Integer, String> map = new HashMap<>();
    map.put(1, "a");
    map.put(2, "b");
    map.put(3, "c");
    map.put(4, "c");

    第一种遍历方式:通过【Map.keyset()】使用【foreach】遍历key和value。

    Set<Integer> set = map.keySet(); // 得到所有key的集合
    for (Integer key : set) {
        String value = map.get(key);
        System.out.println(key + " " + value);
    }

    也可以简写为(省略变量):

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

    第二种遍历方式:通过【Map.entrySet()】使用【iterator】遍历key和value。

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

    第三种遍历方式:通过【Map.entrySet()】使用【foreach】遍历key和value。

    for (Map.Entry<Integer, String> entry : map.entrySet()) {
        // Map.entry<Integer, String> 映射项(键-值对) 有几个方法:用上面的名字entry
        // entry.getKey() ;entry.getValue(); entry.setValue();
        // map.entrySet() 返回此映射中包含的映射关系的 Set视图。
        System.out.println("key= " + entry.getKey() + " and value= "
    + entry.getValue());
    }

    这种遍历方式据说性能最好,尤其是数据量大的场景下。

    第四种遍历方式:通过【Map.values()】使用【foreach】遍历value。

    for (String v : map.values()) {
        System.out.println("value= " + v);
    }

    但是这种方式不能遍历key,只能在不需要遍历key的场景下使用。

    "时间的绝情之处是,它让你熬到真相,却不给你任何补偿。"

  • 相关阅读:
    《JavaScript语言精粹》学习心得
    Linq笔记
    关于缓存
    JS-替换全部全部字符串
    相同数据用分号分割
    单例模式
    es6- ArrayBuffer
    vue常用属性解释。
    装饰者模式
    中介者模式
  • 原文地址:https://www.cnblogs.com/yanggb/p/11699318.html
Copyright © 2011-2022 走看看