List<String> A = Arrays.asList("123","234","345","456"); List<String> B = Arrays.asList("234","333","456"); //A是之前数据库的信息 B是网页新传进来的多选框的信息 //判断之前数据库的人员信息不包含新传进来的人员信息 执行新增方法 如果都包含 判断之前数据库的人员信息和网页新传进来的人员信息 网页新传进来的人员信息减少了哪个
时间: 2023-07-19 10:31:28 浏览: 46
可以使用 Java 的集合操作来实现这个功能。代码如下:
```
List<String> A = Arrays.asList("123","234","345","456");
List<String> B = Arrays.asList("234","333","456");
List<String> intersection = new ArrayList<>(A);
intersection.retainAll(B); // 交集
if (intersection.size() == B.size()) {
System.out.println("之前数据库的人员信息和网页新传进来的人员信息一致");
} else {
List<String> difference = new ArrayList<>(B);
difference.removeAll(A); // 差集
if (difference.size() > 0) {
System.out.println("执行新增方法");
} else {
List<String> subtracted = new ArrayList<>(B);
subtracted.removeAll(intersection); // 减法集合
String removed = subtracted.get(0);
System.out.println("网页新传进来的人员信息减少了:" + removed);
}
}
```
代码中,我们首先求出 A 和 B 的交集,判断交集是否等于 B,如果相等则说明之前数据库的人员信息和网页新传进来的人员信息一致,否则说明有新增或者减少。
如果有新增,直接执行新增方法。
如果有减少,我们再求出 B 和交集的差集,得到减法集合,然后从减法集合中取出一个元素,即为减少的信息。