Java List<Map<String, Object>>类型的数据,只保留task_status不在List<String> CLOSED = Stream.of("STORE", "CANCEL").collect(Collectors.toList())中的数据
时间: 2024-10-22 16:14:02 浏览: 30
在Java中,如果你有一个`List<Map<String, Object>>`类型的列表,其中每个map都有一个键"task_status",并且你想过滤掉那些其"task_status"值在给定的`CLOSED`集合(`Stream.of("STORE", "CANCEL").collect(Collectors.toList())`)中存在的地图,你可以使用Java 8的流API(Stream API)来完成这个操作。这是一个示例代码片段:
```java
List<Map<String, Object>> dataList = ...; // 假设这是你的原始数据列表
List<String> CLOSED = Stream.of("STORE", "CANCEL").collect(Collectors.toList());
List<Map<String, Object>> filteredData = dataList.stream()
.filter(map -> !CLOSED.contains((String) map.get("task_status")))
.collect(Collectors.toList());
```
这段代码首先将原始列表转换为流,然后通过`filter`函数应用条件,即如果某张地图的"task_status"不在`CLOSED`集合中,就保留该地图。最后,使用`collect`方法收集满足条件的地图到一个新的列表`filteredData`。
阅读全文