当前位置: 首页 > 知识库问答 >
问题:

有没有办法阻止Stream。使用谓词iterate()?[副本]

申阳伯
2023-03-14

在web上,我只找到了一种停止迭代方法的方法。通过使用limit()函数。但这会迭代一个具体的循环数。我想用它来停止一个谓词。

...
Stream.iterate(0, i -> i*2).while(i -> i < MAX)
...

有没有办法用Streams做到这一点?

更新1:使用Java 8

共有1个答案

萧德馨
2023-03-14

使用Java-9或以上,一种方法是使用Stream.takeWhile作为:

Stream.iterate(1, i -> i * 2) // notice identity value in seed
      .takeWhile(i -> i < MAX)

另一种方法是使用Stream.interate

Stream.iterate(1, i -> i < MAX, i -> i * 2)
 类似资料:
  • 使用Java8+,您可以轻松找到与匹配的集合的所有元素。

  • 本文向大家介绍Prolog带有副作用的谓词,包括了Prolog带有副作用的谓词的使用技巧和注意事项,需要的朋友参考一下 示例 产生副作用的谓词离开了纯逻辑领域。例如: writeq/1 read/1 format/2 副作用是程序中无法推理的现象。例如,删除文件或在系统终端上输出。

  • 问题内容: 我是ElasticSearch的新手,对停用词有疑问。我有一个索引,其中包含美国的州名。例如:纽约/纽约州,加利福尼亚/加拿大,俄勒冈州/俄勒冈州。我相信俄勒冈州的缩写“ OR”是一个停用词,因此当我将状态数据插入索引时,无法搜索“ OR”。有什么办法可以为此设置自定义停用词,还是我做错了什么? 这是我建立索引的方式: 搜索“ NY”,效果很好。例如: 但是搜索“ OR”会返回零命中:

  • 我希望从C中的浮点数组中计算中值: FloatArray包含一个常规的C浮点数组。 我正在使用,但想知道是否有像这样的工具可以处理数据?现在,我正在制作一个副本,然后在扔掉副本之前执行。如果数据没有像这样的东西,是否有更有效的方法使用复制步骤来计算信息,从而避免潜在的额外O(n)循环?也许性能影响可以忽略不计?我的数组大小可能在20亿量级。

  • 我正在使用Spring Data JPA项目中的,并且我面临着急于获取惰性关系的需求。我知道我可以在存储库界面中使用本机 JPA-QL 查询,甚至可以使用查询 DSL 中的 JPAQLQuery,但我很好奇这是否可能,以便于为未来需求构建查询。

  • 例如,-从索引0迭代到索引10。 -但从10到0不起作用,如何使用流API实现?