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