java 比较2个list对象差异
时间: 2023-09-10 12:12:51 浏览: 140
两个list比较 取不同的对象
4星 · 用户满意度95%
在Java中,可以通过循环遍历两个List中的元素来进行比较,找出差异。在比较过程中,可以使用equals方法来比较两个元素是否相等。下面是一个示例代码来比较两个List对象的差异:
```
public static <T> List<T> getDiff(List<T> list1, List<T> list2) {
List<T> diff = new ArrayList<>();
for (T t : list1) {
if (!list2.contains(t)) {
diff.add(t);
}
}
for (T t : list2) {
if (!list1.contains(t)) {
diff.add(t);
}
}
return diff;
}
```
使用方法如下:
```
List<String> list1 = Arrays.asList("apple", "banana", "orange");
List<String> list2 = new ArrayList<>(Arrays.asList("apple", "banana", "grape"));
List<String> diff = getDiff(list1, list2);
System.out.println(diff); // [orange, grape]
```
上述方法会返回两个List中不同的元素,包括在list1中而不在list2中的元素和在list2中而不在list1中的元素。
需要注意的是,上述方法只能找出两个List中不同的元素,而不能找出完全相同的元素。如果需要找出完全相同的元素,可以使用equals方法和containsAll方法,但是需要保证List中的元素也要实现equals方法。
阅读全文