我有一个RGB对象数组,包含R值,G值和B值,它们组合起来表示一种颜色。我需要使用IntStream
来运行数组的元素并对每个元素进行计算。如何使用IntStream执行此操作?
我的数组定义如下:
RGB[] pixels;
将RGB类定义为:
class RGB {
public int R, G, B;
RGB(int r, int g, int b) {
R = r;
G = g;
B = b;
}
}
提供的提示说使用IntStream.range()
给我一系列索引。
答案 0 :(得分:1)
您可以流式传输数组索引:
IntStream.range(0, pixels.length)
.map(i -> someCalculationOn(i, pixels[i]));
但如果你不需要someCalculation
中的索引,那么流式传输数组可能会更好:
Arrays.stream(pixels).map(rgb -> someCalculationOn(rgb));