按照stream流过滤两个list<JsonObject>集合中的两个字段相同,其他字段不同的的数据的并集
时间: 2024-03-06 14:49:17 浏览: 54
实现多个数组的数据过滤
可以按照以下步骤实现:
1. 创建一个新的 List<JsonObject> 对象,用于存储结果数据。
2. 遍历第一个 list<JsonObject> 对象,获取每一个元素。
3. 遍历第二个 list<JsonObject> 对象,获取每一个元素。
4. 比较两个元素的特定字段是否相同,如果相同则将这个元素添加到结果 List<JsonObject> 中。
5. 返回结果 List<JsonObject>。
具体实现代码如下:
```java
List<JsonObject> resultList = new ArrayList<>();
for (JsonObject obj1 : list1) {
for (JsonObject obj2 : list2) {
if (obj1.get("fieldName").equals(obj2.get("fieldName"))) {
//比较其他字段是否相同,如果相同则将元素添加到结果 List<JsonObject> 中
if (obj1.get("otherField1").equals(obj2.get("otherField1")) && obj1.get("otherField2").equals(obj2.get("otherField2"))) {
resultList.add(obj1);
break;
}
}
}
}
return resultList;
```
其中,"fieldName" 是需要比较的字段名,"otherField1" 和 "otherField2" 是其他需要比较的字段名。需要根据实际情况进行修改。
阅读全文