stream流过滤map中元素
时间: 2023-04-02 07:01:34 浏览: 141
可以使用Java 8中的Stream API中的filter()方法来过滤Map中的元素。例如,可以使用以下代码过滤Map中值为偶数的元素:
Map<Integer, Integer> map = new HashMap<>();
map.put(1, 2);
map.put(2, 3);
map.put(3, 4);
map.put(4, 5);
Map<Integer, Integer> filteredMap = map.entrySet()
.stream()
.filter(entry -> entry.getValue() % 2 == )
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
System.out.println(filteredMap); // 输出 {1=2, 3=4}
相关问题
stream流过滤map中包含某些key的元素
可以使用Java 8的Stream API中的filter()方法和containsKey()方法来实现。具体代码如下:
Map<String, Integer> map = new HashMap<>();
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);
map.put("D", 4);
List<Map.Entry<String, Integer>> result = map.entrySet().stream()
.filter(entry -> Arrays.asList("A", "C").contains(entry.getKey()))
.collect(Collectors.toList());
其中,Arrays.asList("A", "C")表示需要过滤的key集合,可以根据实际需求进行修改。最终的结果是一个包含符合条件的元素的List集合。
java代码,一个list列表,里面放着map,使用stream流过滤数据,过滤出map中 某个字段等于某个值
可以使用以下代码实现:
List<Map<String, Object>> list = new ArrayList<>();
// 添加元素到列表中
Map<String, Object> map1 = new HashMap<>();
map1.put("name", "张三");
map1.put("age", 20);
list.add(map1);
Map<String, Object> map2 = new HashMap<>();
map2.put("name", "李四");
map2.put("age", 25);
list.add(map2);
// stream流过滤数据
List<Map<String, Object>> filteredList = list.stream()
.filter(map -> map.get("name").equals("张三"))
.collect(Collectors.toList());
// 输出过滤后的列表
System.out.println(filteredList); // 输出:[{name=张三, age=20}]
```
阅读全文
相关推荐
















