Map集合的三种遍历方式

0 阅读1分钟

第一种方式:通过keySet()方法先获取Map的所有键

Map<String, Integer> map = new HashMap<>();
map.put("啤酒", 15);
map.put("饮料", 10);
map.put("矿泉水", 8);
map.put("花生", 20);
map.put("瓜子", 20);
map.put("八宝粥", 50);

// 通过keySet()获取所有的key
Set<String> set = map.keySet();
for (String key : set) {
    System.out.println("key=" + key + " value=" + map.get(key));
}

在这里插入图片描述

第二种方式:通过entrySet()获取所有的entry

entry相当于map中的一对值,如“啤酒-15”、“饮料-10”

Map<String, Integer> map = new HashMap<>();
map.put("啤酒", 15);
map.put("饮料", 10);
map.put("矿泉水", 8);
map.put("花生", 20);
map.put("瓜子", 20);
map.put("八宝粥", 50);

// 通过entrySet()获取所有的entry
Set<Map.Entry<String, Integer>> entries = map.entrySet();
for (Map.Entry<String, Integer> entry : entries) {
    System.out.println("key=" + entry.getKey() + " value=" + entry.getValue());
}

在这里插入图片描述

第三种方式:通过forEach()

Map<String, Integer> map = new HashMap<>();
map.put("啤酒", 15);
map.put("饮料", 10);
map.put("矿泉水", 8);
map.put("花生", 20);
map.put("瓜子", 20);
map.put("八宝粥", 50);

// 通过forEach()
map.forEach(new BiConsumer<String, Integer>() {
    @Override
    public void accept(String key, Integer value) {
        System.out.println("key=" + key + " value=" + value);
    }
});

可以用lambda表达式简化代码,如下:

// 通过forEach()
map.forEach((key, value) -> System.out.println("key=" + key + " value=" + value));

在这里插入图片描述

首次发布

hezhongying.blog.csdn.net/article/det…