發表文章

目前顯示的是有「Stream API」標籤的文章

190320 Development Note

剛要加總一個 int array 用了 "java integer array sum" 當關鍵字 找到以下文章 Find Sum and Average in a Java Array https://www.baeldung.com/java-array-sum-average 文中使用的是 Java Stream API,範例程式如下。 Arrays.stream(array).sum(); 以下為 Arrays 的 javadoc。 https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Arrays.html   Arrays.stream( int[] array ) 回傳的是 IntStream,IntStream 是 1.8 才有的類別。難怪我對它不熟。 以下為 IntStream 的 javadoc https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/stream/IntStream.html 在 IntStream 的 sum() 之說明中提到,此 sum() 等同於呼叫以下的方法。 reduce( 0, Integer::sum ); 再看 IntStream 的 reduce​( int identity, IntBinaryOperator op ) 的說明,提到此方法等同以下的程序 -------------------------------------------------------------------------- int result = identity; for (int element : this stream)          result = accumulator.applyAsInt( result, element ) return result; --------------------------------------------------------------------...