java使用stream流过滤数组找缺的
时间: 2024-10-15 07:05:20 浏览: 24
java使用Hashtable过滤数组中重复值的方法
在Java中,如果你有一个数组,想要找出另一个数组中缺失的元素,也可以通过Stream API来实现。这里有一个例子,展示了如何找到`arrayA`中不在`arrayB`中存在的元素:
```java
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
int[] arrayA = {1, 2, 3, 4, 5};
int[] arrayB = {2, 4, 6};
// 将数组转换为Set以便查找缺失元素
Set<Integer> setA = new HashSet<>(Arrays.asList(arrayA));
Set<Integer> setB = new HashSet<>(Arrays.asList(arrayB));
// 使用差集操作找出setB中不在setA中的元素
Set<Integer> missingInArrayB = setB.stream()
.filter(setA::contains) // 过滤出setA中包含的元素
.filter(!setA::contains) // 对剩下的元素,它们不在setA中
.collect(Collectors.toSet());
System.out.println("Missing in Array B: " + missingInArrayB);
阅读全文