java – takeWhile与过滤器有什么不同?

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,10).takeWhile(i -> i < 4 )
        .forEach(System.out::println);

那么这个新功能需要什么呢?

解决方法

filter将从流中删除不满足条件的所有项.

takeWhile将在第一次出现不满足条件的项目时中止流.

例如

Stream.of(1,10,1)
    .filter(i -> i < 4 )
    .forEach(System.out::print);

将打印

123321

Stream.of(1,1)
    .takeWhile(i -> i < 4 )
    .forEach(System.out::print);

将打印

123

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。