Java –すべてのストリーム整数を合計する方法
sum()メソッドは、Stream<Integer>ではなくIntStreamのようなプリミティブint値ストリームで使用できます。 mapToInt()を使用して、ストリーム整数をIntStreamに変換できます。
int sum = integers.stream().mapToInt(Integer::intValue).sum(); int sum = integers.stream().mapToInt(x -> x).sum();
完全な例
Java8Stream.java
package com.example.concurrency;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;
public class Java8Stream {
public static void main(String[] args) {
List integers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
int sum = integers.stream().mapToInt(Integer::intValue).sum();
System.out.println("Total : " + sum);
Stream integers2 = Stream.iterate(1, n -> n + 1).limit(10);
IntStream intStream = integers2.mapToInt(x -> x);
int sum1 = intStream.sum();
System.out.println("Total : " + sum1);
}
}
出力
Total : 55 Total : 55