首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有办法用谓词阻止Stream.iterate()吗?

有办法用谓词阻止Stream.iterate()吗?
EN

Stack Overflow用户
提问于 2019-02-08 10:06:16
回答 1查看 299关注 0票数 4

在web中,我只找到了一种停止迭代方法的方法。通过使用limit()函数。但这会迭代一组循环。我想要一个谓词用于halt。

代码语言:javascript
复制
...
Stream.iterate(0, i -> i*2).while(i -> i < MAX)
...

有办法处理溪流吗?

更新1:使用Java 8

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-08 10:07:38

使用Java-9或更高版本,一种方法是将Stream.takeWhile用作:

代码语言:javascript
复制
Stream.iterate(1, i -> i * 2) // notice identity value in seed
      .takeWhile(i -> i < MAX)

另一种选择是使用Stream.iterate

代码语言:javascript
复制
Stream.iterate(1, i -> i < MAX, i -> i * 2)
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54590009

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档