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

java – 查找流的最小元素,但如果它<= N则提前挽救

发布时间:2020-12-15 00:45:15 所属栏目:Java 来源:网络整理
导读:我想找到一个大的(数亿个元素)IntStream的最小元素,但我只能使用结果,如果它是 N,所以我想在找到一个元素 = N时立即拯救.我希望最小值在大多数情况下都是 = N. IntStream.min()不会短路,所以我会被困在处理所有元素.一般的IntStream.reduce也不会短路. IntSt
我想找到一个大的(数亿个元素)IntStream的最小元素,但我只能使用结果,如果它是> N,所以我想在找到一个元素< = N时立即拯救.我希望最小值在大多数情况下都是< = N. IntStream.min()不会短路,所以我会被困在处理所有元素.一般的IntStream.reduce也不会短路. IntStream.noneMatch(x – > x< = N)将确保最小元素是> N如果不是,则会发生短路,但实际上并没有告诉我最小值.我必须在谓词中维护状态(并添加同步或限于顺序流)以记住实际的最小值.或者,我可以增加N并再次尝试,可能在可能的N范围内进行某种二分搜索,但这听起来既缓慢又复杂.

一旦知道了< = N,我怎样才能找到IntStream的最小值,短路?

解决方法

我的第一个想法是使用findAny然后我重读了这个问题.

(编辑:李大同)

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

    推荐文章
      热点阅读