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()); });
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。