两个list取差集 java
时间: 2023-11-27 17:03:21 浏览: 123
以下是两个list取差集的Java代码示例:
```java
List<Integer> list1 = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
List<Integer> list2 = new ArrayList<>(Arrays.asList(3, 4, 5, 6, 7));
list1.removeAll(list2);
System.out.println(list1); // 输出:[1, 2]
```
上述代码中,我们首先创建了两个List,然后使用removeAll()方法从list1中移除了list2中包含的元素,最后输出了list1的结果,即差集。
另外,Java 8中也提供了stream()和filter()方法来实现两个List的差集:
```java
List<Integer> list1 = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
List<Integer> list2 = new ArrayList<>(Arrays.asList(3, 4, 5, 6, 7));
List<Integer> diff = list1.stream().filter(num -> !list2.contains(num)).collect(Collectors.toList());
System.out.println(diff); // 输出:[1, 2]
```
上述代码中,我们使用了Java 8中的stream()和filter()方法,将list1中不包含在list2中的元素筛选出来,最后使用collect()方法将结果转换为List并输出。
阅读全文