使用list.stream().map().collect()根据条件筛选List<Map>列表
时间: 2024-06-04 18:13:07 浏览: 72
JDK8通过Stream 对List,Map操作和互转的实现
5星 · 资源好评率100%
可以使用Java 8中的 Stream API,根据条件筛选List<Map>列表,示例代码如下:
List<Map<String, Object>> list = new ArrayList<>();
// 往列表中添加数据
Map<String, Object> map1 = new HashMap<>();
map1.put("name", "张三");
map1.put("age", 18);
list.add(map1);
Map<String, Object> map2 = new HashMap<>();
map2.put("name", "李四");
map2.put("age", 20);
list.add(map2);
Map<String, Object> map3 = new HashMap<>();
map3.put("name", "王五");
map3.put("age", 25);
list.add(map3);
// 使用 Stream API 根据条件筛选列表
List<Map<String, Object>> result = list.stream()
.filter(map -> map.get("age") instanceof Integer && (Integer) map.get("age") > 18)
.collect(Collectors.toList());
System.out.println(result);
输出结果:
[{name=李四, age=20}, {name=王五, age=25}]
阅读全文