java获取两个数据量较大的arraylist的交集、差集以及并集
时间: 2023-05-04 20:02:24 浏览: 163
在Java中,可以通过使用集合类来获取两个集合的交集、差集以及并集。可以使用Java中的ArrayList来存储集合元素。
获取两个集合的交集可以使用retainAll()方法,这个方法会保留两个集合共有的元素。例如:
```java
ArrayList<Integer> list1 = new ArrayList<>(Arrays.asList(1,2,3,4,5));
ArrayList<Integer> list2 = new ArrayList<>(Arrays.asList(4,5,6,7,8));
list1.retainAll(list2); //list1中只保留4和5
```
获取两个集合的差集可以使用removeAll()方法,这个方法会删除第一个集合中与第二个集合共有的元素。例如:
```java
ArrayList<Integer> list1 = new ArrayList<>(Arrays.asList(1,2,3,4,5));
ArrayList<Integer> list2 = new ArrayList<>(Arrays.asList(4,5,6,7,8));
list1.removeAll(list2); //list1中只保留1、2、3
```
获取两个集合的并集可以使用addAll()方法,这个方法会将第二个集合中的元素添加到第一个集合中,但不会添加重复的元素。例如:
```java
ArrayList<Integer> list1 = new ArrayList<>(Arrays.asList(1,2,3,4,5));
ArrayList<Integer> list2 = new ArrayList<>(Arrays.asList(4,5,6,7,8));
list1.addAll(list2); //list1中包含1到8,但不包含重复的4和5
```
以上就是获取两个数据量较大的ArrayList的交集、差集以及并集的方法。由于ArrayList使用数组实现,所以对于数据量较大的ArrayList,可能会出现性能问题,建议使用性能更好的HashSet来存储元素。
阅读全文