java 8 list取差集
时间: 2023-09-13 13:13:53 浏览: 119
可以使用Java 8中的stream和lambda表达式来计算list的差集。例如,如果你有两个List类型分别为list1和list2,你可以使用以下代码来计算它们的差集:
```
List<String> difference = list1.stream()
.filter(element -> !list2.contains(element))
.collect(Collectors.toList());
```
在这个例子中,我们首先将list1转换为一个流,然后使用filter()函数来过滤掉那些存在于list2中的元素,最后使用collect()函数将剩余的元素转换为一个新的List类型,并将其赋值给变量difference。
相关问题
java list取差集
Java List取差集可以通过使用Collection类的方法来实现。可以先将两个List转换为Set,然后使用Set提供的方法求差集。下面是一个示例代码:
```
List<Integer> list1 = new ArrayList<>(Arrays.asList(1, 2, 3, 4));
List<Integer> list2 = new ArrayList<>(Arrays.asList(3, 4, 5, 6));
Set<Integer> set1 = new HashSet<>(list1);
Set<Integer> set2 = new HashSet<>(list2);
set1.removeAll(set2);
List<Integer> result = new ArrayList<>(set1);
```
上面的代码中,首先定义了两个List,然后将它们转换为Set。接着,通过Set的removeAll方法求差集,并将结果保存到一个新的List中。
java 两个list取差集 并集 差集
在 Java 中,可以通过集合框架中的 Set 接口来实现两个 List 的取差集、并集和交集操作。
对于两个 List 取并集,可以先将一个 List 加入到 Set 中,然后再将另一个 List 的元素加入到 Set 中。这样就可以去掉重复元素,得到两个 List 的并集。
对于两个 List 取交集,同样可以先将一个 List 加入到 Set 中,然后再遍历另一个 List,将其元素与 Set 中的元素比较,如果相同就将其加入到另一个 Set 中,最后得到的就是两个 List 的交集。
对于两个 List 取差集,可以先将一个 List 加入到 Set 中,然后再遍历另一个 List,将其元素从 Set 中移除,最后得到的就是两个 List 的差集。
下面是示例代码:
```
import java.util.*;
public class Test {
public static void main(String[] args) {
List<Integer> list1 = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> list2 = Arrays.asList(4, 5, 6, 7, 8);
// 求并集
Set<Integer> union = new HashSet<>(list1);
union.addAll(list2);
System.out.println("并集:" + union);
// 求交集
Set<Integer> intersection = new HashSet<>(list1);
intersection.retainAll(list2);
System.out.println("交集:" + intersection);
// 求差集
Set<Integer> difference = new HashSet<>(list1);
difference.removeAll(list2);
System.out.println("差集:" + difference);
}
}
```
阅读全文