如果我用依赖于输入的谓词限制它,我可以计算我的流大小吗?

前端之家收集整理的这篇文章主要介绍了如果我用依赖于输入的谓词限制它,我可以计算我的流大小吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我想用随机数制作一个流.一旦数字满满一定条件,我想现在需要多少次迭代.
所以要么我想要流的大小,要么我可以从中读取大小的集合.

以下是我的方法

random.ints(0,Integer.MAX_VALUE).anyMatch(a – > {return a< 20000;}); 一旦我的条件满了,这只给我一个布尔值. random.ints(0,Integer.MAX_VALUE).filter(a – > a< 20000).limit(1).count(); 这显然会返回1.但我希望在过滤结果之前有大小.我用计数变量进一步尝试了几个东西但是因为lambdas从外面有效地捕获它们,所以我有一个初始化问题. 任何帮助或提示表示赞赏

最佳答案
Java 9有一个支持它的功能takeWhile

random.ints(0,Integer.MAX_VALUE).takeWhile(a -> a < 20000).count();

猜你在找的Java相关文章