加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 16:19:25 所属栏目:Java 来源:网络整理
导读: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); 那么这
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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读