使用lambda表达式遍历map集合

我们都知道,map集合有两种遍历方式

Ⅰ、EntrySet

@Test
    public void testEntrySet() throws Exception{
        Map<String, Object> map = new HashMap<>();
        map.put("name1", "刘德华");
        map.put("name2", "黎明");
        map.put("name3", "张学友");
        map.put("name4", "郭富城");
        Set<Map.Entry<String, Object>> set = map.entrySet();
        for (Map.Entry<String, Object> entry : set) {
            String key = entry.getKey();
            Object value = entry.getValue();
            System.out.println(key + "=" + value);
        }
    }

Ⅱ、keySet

@Test
    public void testkeySet() throws Exception{
        Map<String, Object> map = new HashMap<>();
        map.put("name1", "刘德华");
        map.put("name2", "黎明");
        map.put("name3", "张学友");
        map.put("name4", "郭富城");
        Set<String> keys = map.keySet();
        for (String key : keys) {
            Object value = map.get(key);
            System.out.println(key + "=" + value);
        }
    }

以上这两种方法,我个人还是觉得有点麻烦,我们完全可以使用lambda表达式来代替。

Ⅲ、终级方案

@Test
    public void testLambda() throws Exception{
        Map<String, Object> map = new HashMap<>();
        map.put("name1", "刘德华");
        map.put("name2", "黎明");
        map.put("name3", "张学友");
        map.put("name4", "郭富城");
        map.forEach((key,value) -> {
            System.out.println(key + "=" + value);
        });
    }

使用过才知道,这个有多么酸爽啦。


版权声明:本文为m0_64081688原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。