java - 创建可重用的 IntStreams 有用吗?如果是,如何?
问题描述
我想知道,为以下问题创建可重用的 IntStream 是否有意义以及如何这样做。
基本上,我需要遍历要检测的数字的 int[],并在另一个 int[] 中计算这些数字的频率。
如果我有一个 IntStream-Supplier,它可以在某个循环中重复使用。所以,我正在寻找类似的东西
int[] intsToBeDectected = new int[]{1,2,3}
int[] numbers = new int[]{1,1,1,2,3,3,3,3,3}
Supplier<IntStream> supplier = IntStream.of(numbers); // ERROR
for (int i : intsToBeDetected){
int freq = (int) supplier.get().filter(n -> n=i).count();
}
从java中的对象流,我知道这样的事情:
Supplier<Stream<Object>> supplier = () -> Arrays.stream(objects)
这个对象流是可重用的,例如:
supplier.get().filter()...
但是,我不知何故未能将这个想法转移到 IntStreams - 它没有在用 ERROR 注释的行中编译。
转移这个概念有意义吗?如果是,该怎么做?
解决方案
代替
Supplier<IntStream> supplier = IntStream.of(numbers); // ERROR
和
Supplier<IntStream> supplier = () -> IntStream.of(numbers);
推荐阅读
- r - 如何在函数中使用向量的每个元素来创建数据帧,然后附加所有数据帧
- python - 结合来自2个数据集python的纬度/经度
- php - 对 WooCommerce 中最便宜的购物车商品应用 100% 优惠券折扣
- c++ - 如何为枚举编写类型自定义转换?
- npm - ng new Angular 不断失败
- ionic-framework - 如何在 ionic 5 中将相机图像转换为 blob?
- android - 如何在相机意图中将前置摄像头设置为默认值
- angular - 将元素推入数组中,角度不重复
- apache-kafka - Kafka:消息从主题中消失,最大时间=0
- android - 如何在活动开始时引用我从 SharedPreference 获得的值