阅读量:4
entrySet()方法是Map接口中的一个方法,它会返回一个Set集合,这个集合中的元素是Map.Entry类型的对象,每个Map.Entry对象代表一个键值对。
Map.Entry是一个内部接口,它定义了getKey()和getValue()方法,分别用于获取键和值。
使用entrySet()方法可以方便地遍历Map集合中的键值对。
以下是四种常见的遍历Map集合的方式:
- 使用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 }
- 使用增强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 }
- 使用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 });
- 使用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集合中的键值对,根据实际情况选择合适的方式即可。