七种方式遍历HashMap

前言

我们知道遍历HashMap的方法主要分为大三类

  • 使用迭代器
  • 使用forEach方法
  • 使用Stream流

遍历HashMap

废话不多说,直接上代码

1、迭代器entrySet

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

2、迭代器keySet

 Iterator<Integer> iterator = map.keySet().iterator();
        while (iterator.hasNext()){
            Integer key = iterator.next();
            System.out.println(key);
            System.out.println(map.get(key));
        }

3、使用forEach EntrySet

for (Map.Entry<Integer,String> entry : map.entrySet()){
            System.out.println(entry.getKey());
            System.out.println(entry.getValue());
        }

4、forEach KeySet

 for (Integer key : map.keySet()) {
            System.out.println(key);
            System.out.println(map.get(key));
        }

5、lambda

map.forEach((key,value)->{
            System.out.println(key);
            System.out.println(value);
        });

6、Streams API 单线程

 map.entrySet().stream().forEach((entry)->{
            System.out.println(entry.getKey());
            System.out.println(entry.getValue());
        });

7、Streams API多线程

只限于迭代 注意HashMap是线程不安全的

多线程的场景下请使用ConcurrentHashMap

map.entrySet().parallelStream().forEach(entry -> {
            System.out.println(entry.getKey());
            System.out.println(entry.getValue());
        });
posted @ 2020-12-13 12:54  林無敌  阅读(250)  评论(0)    收藏  举报