entrySet()详解及四种遍历map的方式

小云
254
2024-02-05 11:08:44
栏目: 编程语言

entrySet()方法是Map接口中的一个方法,它会返回一个Set集合,这个集合中的元素是Map.Entry类型的对象,每个Map.Entry对象代表一个键值对。

Map.Entry是一个内部接口,它定义了getKey()和getValue()方法,分别用于获取键和值。

使用entrySet()方法可以方便地遍历Map集合中的键值对。

以下是四种常见的遍历Map集合的方式:

  1. 使用Iterator遍历:
Map<String, Integer> map = new HashMap<>();
// 添加键值对
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);

// 使用entrySet()获取键值对的Set集合
Set<Map.Entry<String, Integer>> entrySet = map.entrySet();

// 使用Iterator遍历entrySet集合
Iterator<Map.Entry<String, Integer>> iterator = entrySet.iterator();
while(iterator.hasNext()){
   Map.Entry<String, Integer> entry = iterator.next();
   String key = entry.getKey();
   Integer value = entry.getValue();
   // do something with key and value
}
  1. 使用增强for循环遍历:
Map<String, Integer> map = new HashMap<>();
// 添加键值对
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);

// 使用entrySet()获取键值对的Set集合
Set<Map.Entry<String, Integer>> entrySet = map.entrySet();

// 使用增强for循环遍历entrySet集合
for(Map.Entry<String, Integer> entry : entrySet){
   String key = entry.getKey();
   Integer value = entry.getValue();
   // do something with key and value
}
  1. 使用Lambda表达式遍历:
Map<String, Integer> map = new HashMap<>();
// 添加键值对
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);

// 使用entrySet()获取键值对的Set集合
Set<Map.Entry<String, Integer>> entrySet = map.entrySet();

// 使用Lambda表达式遍历entrySet集合
entrySet.forEach((entry) -> {
   String key = entry.getKey();
   Integer value = entry.getValue();
   // do something with key and value
});
  1. 使用Stream API遍历:
Map<String, Integer> map = new HashMap<>();
// 添加键值对
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);

// 使用entrySet()获取键值对的Set集合
Set<Map.Entry<String, Integer>> entrySet = map.entrySet();

// 使用Stream API遍历entrySet集合
entrySet.stream().forEach((entry) -> {
   String key = entry.getKey();
   Integer value = entry.getValue();
   // do something with key and value
});

这四种方式都可以用于遍历Map集合中的键值对,根据实际情况选择合适的方式即可。

0
看了该问题的人还看了