美文网首页
七种方式遍历HashMap

七种方式遍历HashMap

作者: 楼兰King | 来源:发表于2021-03-01 22:44 被阅读0次

前言
我们知道遍历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());
        });

相关文章

网友评论

      本文标题:七种方式遍历HashMap

      本文链接:https://www.haomeiwen.com/subject/tapzfltx.html