遍历Map的四种方法

2021-01-29 10:53:58 浏览数 (2)

1、keySet 2、Map.entrySet 大量数据较快,常用 3、Iterator 4、map.values() 不常用

代码语言:javascript复制
public static void main(String[] args) {
        Map<Integer, String> map = new HashMap<>();
        map.put(1, "五菱宏光");
        map.put(3, "奥迪");
        map.put(2, "宝马");
        //1、使用keySet遍历
        for (Integer key : map.keySet()) {
            String value = map.get(key);
            System.out.println(key   " = "   value);
        }

        //2、使用 Map.entrySet 遍历
        for (Map.Entry<Integer, String> entry : map.entrySet()) {
            Integer key = entry.getKey();
            String value = entry.getValue();
            System.out.println(key   " = "   value);
        }
        //如果是jdk1.8及以上,可以使用lambda表达式
        map.forEach((key, value) -> {
            System.out.println(key   " = "   value);
        });


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

        //4、通过Map.values()遍历所有的value,但不能遍历key
        for (String value : map.values()) {
            System.out.println("value: "   value);
        }

    }

0 人点赞