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

avatar
作者
筋斗云
阅读量:4

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集合中的键值对,根据实际情况选择合适的方式即可。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!