
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
mikechen睿哥,10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。