java比对两个list值的变化值
时间: 2023-09-16 19:10:02 浏览: 88
你可以使用Java 8中的Stream API来比对两个List的变化值。下面是一个示例代码:
```java
List<Integer> list1 = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> list2 = Arrays.asList(1, 2, 4, 6, 8);
// 找到list1中没有出现在list2中的元素
List<Integer> removed = list1.stream().filter(e -> !list2.contains(e)).collect(Collectors.toList());
// 找到list2中没有出现在list1中的元素
List<Integer> added = list2.stream().filter(e -> !list1.contains(e)).collect(Collectors.toList());
System.out.println("Removed: " + removed); // 输出: Removed: [3, 5]
System.out.println("Added: " + added); // 输出: Added: [4, 6, 8]
```
在上面的代码中,我们使用Stream API中的`filter()`方法和`collect()`方法来找到list1和list2中不同的元素,然后将它们分别保存在`removed`和`added`变量中。注意,这种方法只能找到新增和删除的元素,不能找到修改的元素。如果你需要找到修改的元素,可以使用其他算法来实现。
阅读全文