gpt4 book ai didi

java - takeWhile 与过滤器有何不同?

转载 作者:搜寻专家 更新时间:2023-10-30 21:18:47 30 4
gpt4 key购买 nike

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/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com