HashMap遍历经常在Java集合框架使用到,下面给大家介绍4种常用的HashMap遍历方式。
1.for 循环遍历
For循环方式遍历经常用在HashMap遍历,如下所示:
// 创建并赋值 HashMap Map<Integer, String> map = new HashMap(); map.put(1, "mike"); map.put(2, "chen"); // for 遍历 for (Map.Entry<Integer, String> entry : map.entrySet()) { System.out.println(entry.getKey()); System.out.println(entry.getValue()); }
在 Java 中可以通过调用 HashMap 的 keySet() 方法获取其所有键的集合,然后使用 foreach 循环遍历键集合。
类似地,可以使用 values() 方法获取 HashMap 的所有值的集合,然后使用 foreach 循环遍历值集合。
2.迭代器遍历
如下所示:
//创建并赋值HashMap Map<Integer, String> map = new HashMap(); map.put(1, "mike"); map.put(2, "chen"); //迭代器遍历 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()); }
在 Java 中可以通过调用 HashMap 的 entrySet() 方法获取其所有键值对的集合,并通过迭代器遍历集合中的每个键值对。
3.Lambda表达式遍历
在 Java 8 中,可以使用 HashMap 的 Lambda 表达式来遍历键值对。
如下所示:
//创建并赋值HashMap Map<Integer, String> map = new HashMap(); map.put(1, "mike"); map.put(2, "chen"); // 遍历 map.forEach((key, value) -> { System.out.println(key); System.out.println(value); });
4.采用Streams遍历
要使用Streams遍历HashMap,可以将其转换为一个集合对象,然后调用Streams提供的遍历方法。
具体步骤如下:
- 使用HashMap的entrySet()方法获取键值对的集合对象Set<Map.Entry<K,V>>。
- 将集合对象转换为Stream对象,通过调用stream()方法实现。
- 调用Streams提供的遍历方法,例如forEach()、filter()、map()等,对集合对象进行遍历和处理
下面是一个使用Streams遍历HashMap并输出其所有键值对的示例代码:
//创建并赋值HashMap Map<Integer, String> map = new HashMap(); map.put(1, "mike"); map.put(2, "chen"); // 将HashMap转换为集合对象,并通过Stream遍历 hashMap.entrySet().stream() .forEach(entry -> System.out.println(entry.getKey() + " - " + entry.getValue()));
以上就是HashMap遍历的4种常用方式,跟多HashMap原理,请查看:HashMap底层实现原理(图文超详解)。
陈睿mikechen
10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注「mikechen」公众号,获取更多技术干货!
后台回复【面试】即可获取《史上最全阿里Java面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》