可以使用Java 8中的Stream API和lambda表达式来实现两个列表的差集。首先,使用stream()
方法将两个列表转换为流。然后使用filter()
方法,使用一个lambda表达式过滤掉第二个列表中存在的元素,从而得到两个列表的差集。
以下是一个示例代码:
List<Integer> list1 =Arrays.asList(1, 2, 3, 4);
List<Integer> list2 = Arrays.asList(3, 4, 5, 6);
List<Integer> difference = list1.stream()
.filter(i -> !list2.contains(i))
.collect(Collectors.toList());
System.out.println(difference);
输出结果:
[1, 2]
这段代码首先将两个列表转换为流,然后使用filter和lambda表达式,过滤掉第二个列表中出现的元素。最后,使用collect()
方法将过滤后的元素收集到一个新的列表中。