2014-12-04 31 views
-1

我有一個RGB對象數組,它包含一個R值,G值和B值,它們組合起來表示一種顏色。我需要使用IntStream以便遍歷數組的元素並對它們中的每一個進行計算。我怎樣才能使用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()給我索引的流。

回答

1

你可以流的數組索引:

IntStream.range(0, pixels.length) 
     .map(i -> someCalculationOn(i, pixels[i])); 

但是,如果你不需要該指數someCalculation,流陣列本身可能是更好的:

Arrays.stream(pixels).map(rgb -> someCalculationOn(rgb));