java获取两个数据量较大的arraylist的交集、差集以及并集
时间: 2024-01-28 08:03:25 浏览: 127
可以使用Java内置的集合操作工具类`java.util.Collection`中的方法来实现。
1. 获取两个ArrayList的交集
```java
List<Integer> list1 = new ArrayList<>(); // 假设list1中有若干个整数
List<Integer> list2 = new ArrayList<>(); // 假设list2中有若干个整数
list1.retainAll(list2); // 将list1中与list2不同的元素移除,保留交集
```
2. 获取两个ArrayList的差集
```java
List<Integer> list1 = new ArrayList<>(); // 假设list1中有若干个整数
List<Integer> list2 = new ArrayList<>(); // 假设list2中有若干个整数
List<Integer> diffList = new ArrayList<>(list1); // 复制list1中的元素
diffList.removeAll(list2); // 将list2中的元素从diffList中移除,得到差集
```
3. 获取两个ArrayList的并集
```java
List<Integer> list1 = new ArrayList<>(); // 假设list1中有若干个整数
List<Integer> list2 = new ArrayList<>(); // 假设list2中有若干个整数
List<Integer> unionList = new ArrayList<>(list1); // 复制list1中的元素
unionList.addAll(list2); // 将list2中的元素添加到unionList中,得到并集
```
需要注意的是,以上操作都是直接修改了原始的ArrayList,如果需要保留原始ArrayList,可以先进行复制。同时,需要保证两个ArrayList中的元素类型一致,否则可能会出现类型转换异常。
阅读全文