Java 8流 - 将方法传递给过滤器

问题描述 投票:1回答:2

我有一组整数set2和一个对象:

public class Bucket {
    private Integer id;
    private Set<Integer> set1;
...
}

我想使用流来过滤Buckets,但只想使用其set1与另一个set2交叉的桶。我尝试了以下代码:

Set<Bucket> selectedBuckets = allBuckets.stream()
    .filter(e -> Sets.intersection(e.getSet1(), set2).size()>1)
    .collect(Collectors.toSet());

但是这将返回allBuckets的所有元素,而不仅仅是其集合包含交集的元素。我怎样才能做到这一点 ?

java java-8 java-stream
2个回答
© www.soinside.com 2019 - 2024. All rights reserved.