用Java帮我写一个 从数据List a和数据List B中 通过主键来过滤两组数据中不同的部分
时间: 2023-04-04 20:03:18 浏览: 65
好的,我可以为您提供一个Java代码示例,用于从两个数据List a和List B中过滤出不同的部分:
```
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Main {
public static void main(String[] args) {
List<Map<String, Object>> a = new ArrayList<>();
List<Map<String, Object>> b = new ArrayList<>();
// 添加数据到List a
Map<String, Object> a1 = new HashMap<>();
a1.put("id", 1);
a1.put("name", "Tom");
a.add(a1);
Map<String, Object> a2 = new HashMap<>();
a2.put("id", 2);
a2.put("name", "Jerry");
a.add(a2);
// 添加数据到List b
Map<String, Object> b1 = new HashMap<>();
b1.put("id", 1);
b1.put("name", "Tom");
b.add(b1);
Map<String, Object> b2 = new HashMap<>();
b2.put("id", 3);
b2.put("name", "Lucy");
b.add(b2);
// 通过主键id来过滤出不同的部分
List<Map<String, Object>> diff = new ArrayList<>();
for (Map<String, Object> mapA : a) {
boolean isExist = false;
for (Map<String, Object> mapB : b) {
if (mapA.get("id").equals(mapB.get("id"))) {
isExist = true;
break;
}
}
if (!isExist) {
diff.add(mapA);
}
}
System.out.println("List a和List b中不同的部分为:");
for (Map<String, Object> map : diff) {
System.out.println(map);
}
}
}
```
这段代码通过主键id来过滤出List a和List b中不同的部分,并将结果输出到控制台。您可以根据自己的需求进行修改和使用。