List<Map<String, Object>> maps 现在有一个这样的list 如何对其进行数据过滤
时间: 2023-11-11 21:10:47 浏览: 65
Java8中利用stream对map集合进行过滤的方法
您可以使用Java Stream API来对List<Map<String, Object>>进行数据过滤。以下是一些例子:
1. 过滤出map中key为 "name" 且value为 "John" 的元素:
```
List<Map<String, Object>> filteredMaps = maps.stream()
.filter(map -> "John".equals(map.get("name")))
.collect(Collectors.toList());
```
2. 过滤出map中key为 "age" 且value大于等于18的元素:
```
List<Map<String, Object>> filteredMaps = maps.stream()
.filter(map -> map.containsKey("age") && (int) map.get("age") >= 18)
.collect(Collectors.toList());
```
3. 过滤出map中key为 "gender" 且value为 "Female"的元素,并将结果保存到一个新Map中:
```
Map<String, Object> filteredMap = maps.stream()
.filter(map -> "Female".equals(map.get("gender")))
.findFirst()
.orElse(Collections.emptyMap());
```
请注意,这些示例假设map中的每个值都是正确类型的。如果值的类型错误,代码将引发异常。
阅读全文