takeWhile() 与 Java 9 中的 filter() 有何不同。它有什么额外的实用程序?
Stream.of(1,2,3,4,5,6,7,8,9,10).filter(i -> i < 4 )
.forEach(System.out::println);
这可能是下面会做的
Stream.of(1,2,3,4,5,6,7,8,9,10).takeWhile(i -> i < 4 )
.forEach(System.out::println);
那么这个新功能的需求是什么?
最佳答案
filter
将从流中删除所有不满足条件的项目。
takeWhile
将在第一次出现不满足条件的项目时中止流。
例如
Stream.of(1,2,3,4,5,6,7,8,9,10,9,8,7,6,5,4,3,2,1)
.filter(i -> i < 4 )
.forEach(System.out::print);
将打印
123321
但是
Stream.of(1,2,3,4,5,6,7,8,9,10,9,8,7,6,5,4,3,2,1)
.takeWhile(i -> i < 4 )
.forEach(System.out::print);
将打印
123
关于java - takeWhile 与过滤器有何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46850689/