【发布时间】:2017-05-04 16:43:38
【问题描述】:
在 Java 8 的 Streams 中,我知道如何根据谓词过滤集合,并处理谓词为真的项目。我想知道的是,如果谓词将集合分为两组,是否可以通过API根据谓词进行过滤,处理过滤后的结果,然后立即链接调用以处理过滤器排除的所有元素?
例如,考虑以下列表:
List<Integer> intList = Arrays.asList(1,2,3,4);
有没有可能:
intList.stream()
.filter(lessThanThree -> lessThanThree < 3)
.forEach(/* process */)
.exclusions(/* process exclusions */); //<-- obviously sudocode
或者我是否必须对过滤后的项目执行forEach 处理,然后在原始列表中调用stream() 和filter() 来处理剩余的项目?
谢谢!
【问题讨论】:
标签: java java-8 java-stream