stream集合相减
时间: 2023-10-31 07:54:59 浏览: 258
您可以使用Java Stream来实现集合的相减操作。假设您有两个集合,可以使用`stream()`方法将它们转换为流,然后使用`filter()`方法排除第二个集合中的元素,最后使用`collect()`方法将结果收集回集合。以下是一个示例代码:
```java
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> list1 = new ArrayList<>();
List<Integer> list2 = new ArrayList<>();
// 添加一些元素到集合
list1.add(1);
list1.add(2);
list1.add(3);
list1.add(4);
list2.add(2);
list2.add(4);
// 使用Stream进行集合相减
List<Integer> result = list1.stream()
.filter(e -> !list2.contains(e))
.collect(Collectors.toList());
// 输出结果
System.out.println(result); // [1, 3]
}
}
```
在这个例子中,首先创建了两个整数类型的集合`list1`和`list2`,分别包含了一些元素。然后,通过使用Stream的`filter()`方法,过滤掉`list2`中包含的元素。最后,使用`collect()`方法将过滤后的结果收集回一个新的集合。在本例中,结果为`[1, 3]`。
阅读全文