JAVA遍历Map方法大全
下文可以毫不夸张的说:“是市面上遍历Map的最全方法”,如下所示
遍历Map方法大全
一、for循环 + Entryset 二、Iterator + Entryset 三、for循环 + KeySet(效率低) 四、Iterator + Keyset(效率低) 五、Lambda表达式(JDK8推荐此方式) 六、Stream流
基础数据源准备
Map<String,String> map = new HashMap<String,String>();
map.put("1","java265.com");
map.put("2","java我最爱的网站");
map.put("3","java世界上最好的语言")
1.for循环 + Entryset
使用map.entrySet()方法
可获取到一个Set集合
这个集合中的每一个元素就是Map中的一个键值对
然后通过循环遍历这个Set集合
可依次获取每对的键和值
该方法使用foreach循环
且获取Map键和值
for(Map.Entry<Integer,String> entry : map.entrySet()){
System.out.println(entry.getKey());
System.out.println(entry.getValue());
}
2.Iterator + Entryset
Entry是Map接口内部接口
获取迭代器
然后循环依次取出每个迭代器里面的Entry
再使用Entry取出每个键值对
Iterator<Map.Entry<String,String>> iterator=map.entrySet().iterator();
while(iterator.hasNext()){
Map.Entry<String,String> entry=iterator1.next();
System.out.println(entry.getKey());
System.out.println(entry.getValue());
}
3.for循环 + KeySet(效率低)
使用map.keySet()方法
可获取Map所有key的集合(set)
然后使用遍历这个Set就可以遍历到Map的key
如果想要同时遍历到Map的value
则需要进一步通过key来从Map这个集合中获取对应的value
for (String key : map.keySet()) {
System.out.println("key:" + key + ",");
System.out.println("value:" + map.get(key));
}
4.Iterator + Keyset(效率低)
Iterator<String> iterator=map.keySet().iterator();
while (iterator.hasNext()){
String key = iterator.next();
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.Stream流
map.entrySet().stream().forEach((Map.Entry<Integer, String> entry) -> {
System.out.println(entry.getKey());
System.out.println(entry.getValue());
});
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


