java 求两个List<Object>的交集,并集,差集
时间: 2024-03-13 19:05:32 浏览: 101
可以使用Java自带的Collection工具类来求两个List<Object>的交集、并集和差集:
```java
import java.util.*;
public class ListUtils {
// 求两个列表的交集
public static List<Object> intersection(List<Object> list1, List<Object> list2) {
List<Object> result = new ArrayList<>(list1);
result.retainAll(list2);
return result;
}
// 求两个列表的并集
public static List<Object> union(List<Object> list1, List<Object> list2) {
Set<Object> set = new HashSet<>(list1);
set.addAll(list2);
return new ArrayList<>(set);
}
// 求两个列表的差集
public static List<Object> difference(List<Object> list1, List<Object> list2) {
List<Object> result = new ArrayList<>(list1);
result.removeAll(list2);
return result;
}
}
```
上述代码中,intersection()方法使用List自带的retainAll()方法求两个列表的交集,union()方法使用Set求两个列表的并集,difference()方法使用List自带的removeAll()方法求两个列表的差集。需要注意的是,如果列表中的元素是自定义对象,那么要确保对象的hashCode()和equals()方法正确实现。
阅读全文