🦔

Stream APIを使ってArray配列の合計を計算する(Java)

2021/11/10に公開

概要

Java で for 文を使わずに Array 配列の合計を求める方法をまとめました。
すべてのパターンで 1~5 の合計を求めます。

for 文の場合

List<Integer> integerList = Arrays.asList(1, 2, 3, 4, 5);
int sum = 0;
for (int i = 0; i<integerList.size(); i++){
    sum += integerList.get(i);
}
System.out.println(sum);

Stream API の場合

reduce を使う場合

非メソッド参照

List<Integer> integerList = Arrays.asList(1, 2, 3, 4, 5);
int sum = 0;
sum = integerList.stream().reduce(0, (a, b) -> a+b);
System.out.println(sum);

メソッド参照

List<Integer> integerList = Arrays.asList(1, 2, 3, 4, 5);
int sum = 0;
sum = integerList.stream().reduce(0, Integer::sum);
System.out.println(sum);

collect を使う場合

List<Integer> integerList = Arrays.asList(1, 2, 3, 4, 5);
int sum = 0;
sum = integerList.stream().collect(Collectors.summingInt(Integer::intValue));
System.out.println(sum);

IntStream を使う場合

非メソッド参照

List<Integer> integerList = Arrays.asList(1, 2, 3, 4, 5);
int sum = 0;
sum = integerList.stream().mapToInt(intValue -> intValue).sum();
System.out.println(sum);

メソッド参照

List<Integer> integerList = Arrays.asList(1, 2, 3, 4, 5);
int sum = 0;
sum = integerList.stream().mapToInt(Integer::intValue).sum();
System.out.println(sum);

Discussion