(1)方式一:键找值
- 先获取Map集合的全部键的Set集合。
- 遍历键的Set集合,然后通过键提取对应值。
涉及API:
方法名称 | 说明 |
Set<K> keySet() | 获取所有键的集合 |
V get(Object key) | 根据键获取值 |
(2)方式二:键值对
- 先把Map集合转换成Set集合,Set集合中每个元素都是键值对实现类型了。
- 遍历Set集合,然后提取键以及提取值。
涉及API:
方法名称 | 说明 |
Set<Map.Entry<K,V>> entrySet() | 获取所有键值对对象的集合 |
K getKey() | 获取键 |
V getValue() | 获取值 |
(3)方式三:lambda表达式
- 得益于JDK8开始的新技术Lambda表达式,提供了一种更简单,更直接的遍历集合的方式。
涉及API:
方法名称 | 说明 |
default void forEach(BiConsumer<? super K, ? super V>action) | 结合lambda遍历Map集合 |
流程:
maps.forEach((k,v) -> {
System.out.println(k + ":" + v);
});文章来源:https://www.toymoban.com/news/detail-409715.html
(4)三种遍历方式代码如下:文章来源地址https://www.toymoban.com/news/detail-409715.html
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.function.BiConsumer;
/**
* Map集合遍历方式
*/
public class MapDemo {
public static void main(String[] args) {
Map<String,Integer> maps = new HashMap<>();
//无序,不重复,无索引
maps.put("大大",23);
maps.put("小小",21);
maps.put("清清",20);
maps.put("心心",24);
System.out.println(maps);
//1.键找值
//1.1先拿到集合的全部键
Set<String> keys = maps.keySet();
//1.2遍历每个键,根据键提取值
for (String key : keys) {
int value = maps.get(key);
System.out.println(key + ":" + value);
}
System.out.println(maps);//{大大=23, 小小=21, 心心=24, 清清=20}
//2.键值对
/**
maps = {大大=23, 小小=21, 心心=24, 清清=20}
使用foreach遍历Map集合,发现Map集合的键值对元素直接是没有类型的,所以不能使用foreach遍历集合
可以通过调用Map的方法,entrySet把Map集合转换成Set集合形式 maps.entrySet()
Set<Map.Entry<String,Integer>>entries = [(大大=23), (小小=21), (心心=24), (清清=20)]
此时就可以使用foreach遍历
*/
//2.1把Map集合转换成Set集合 快捷键:maps.entrySet() + ctrl+alt+v
Set<Map.Entry<String, Integer>> entries = maps.entrySet();
//2.2开始遍历
for(Map.Entry<String, Integer> entry : entries){
String key = entry.getKey();
int value = entry.getValue();
System.out.println(key + ":" + value);
}
System.out.println(maps);//{大大=23, 小小=21, 心心=24, 清清=20}
//3.Lambda表达式
// maps.forEach(new BiConsumer<String, Integer>() {
// @Override
// public void accept(String key, Integer value) {
// System.out.println(key + ":" + value);
// }
// });
//简化代码
maps.forEach ((k, v) -> {System.out.println(k + ":" + v);});
}
}
到了这里,关于Java基础——Map集合遍历方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!