6
因爲許多整數在求和時可能會溢出,所以我需要一個很長的流才能完成這項工作,但它不會接受int
數組。如何在流式傳輸時轉換每個元素,而不是使用long
陣列?Java LongStream來總結int數組元素
// arr is an int[]
LongStream s = Arrays.stream(arr); // error
result = s.reduce(0, Long::sum);
編輯:看起來,整數流變成一個長的使用其方法在Tagir瓦列耶夫的答案變成一個長。
LongStream asLongStream();
這並不拷貝陣列到臨時我猜想有很長的陣列。謝謝。 –
@huseyintugrulbuyukisik,當然它不會複製。 –
當我使用並行版本時,它首先計算5ms(16M元素),然後在幾秒鐘後,每個總和突然花費15ms。這是垃圾收集的結果嗎? –