Stream对JAVA中数据集合为list<Map<String,Object>>根据BZ值来去重
时间: 2023-10-29 15:46:40 浏览: 94
Java List中数据的去重
5星 · 资源好评率100%
要根据`BZ`值对`list<Map<String, Object>>`进行去重,您可以使用Java 8的Stream API的`distinct`方法。首先,您可以使用`map`方法将每个`Map`对象的`BZ`值提取出来,然后使用`distinct`方法对这些值进行去重。最后,您可以使用`map`方法将去重后的值映射回原始的`Map`对象。
以下是示例代码:
```java
import java.util.*;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<Map<String, Object>> dataList = new ArrayList<>();
// 假设 dataList 包含了您的数据集合
List<Map<String, Object>> distinctData = dataList.stream()
.map(map -> map.get("BZ"))
.distinct()
.map(bz -> dataList.stream()
.filter(map -> bz.equals(map.get("BZ")))
.findFirst()
.orElse(null))
.collect(Collectors.toList());
// 打印去重后的结果
for (Map<String, Object> map : distinctData) {
System.out.println(map);
}
}
}
```
请注意,示例代码中的类型转换可能需要根据您实际的数据类型进行调整。
希望这可以帮助到您!如有任何疑问,请随时提问。
阅读全文