Java 8 Stream APIを使用してArrayListから偶数を見つけ、合計を求める方法


まず、以下のようなArrayListがあるとします。

import java.util.ArrayList;
import java.util.List;
public class Main {
    public static void main(String[] args) {
        List<Integer> numbers = new ArrayList<>();
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        numbers.add(4);
        numbers.add(5);
        numbers.add(6);
        numbers.add(7);
        numbers.add(8);
        numbers.add(9);
        numbers.add(10);
    }
}

このArrayListから偶数を見つけるために、Java 8のStream APIを使用します。次のようにコードを書きます。

import java.util.ArrayList;
import java.util.List;
public class Main {
    public static void main(String[] args) {
        List<Integer> numbers = new ArrayList<>();
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        numbers.add(4);
        numbers.add(5);
        numbers.add(6);
        numbers.add(7);
        numbers.add(8);
        numbers.add(9);
        numbers.add(10);
        int sum = numbers.stream()
                .filter(number -> number % 2 == 0) // 偶数のみフィルタリング
                .mapToInt(Integer::intValue) // int型に変換
                .sum(); // 合計を求める
        System.out.println("合計: " + sum);
    }
}

上記のコードでは、numbersリストをStreamに変換し、filterを使用して偶数の要素のみをフィルタリングしています。次に、mapToIntを使用して要素をint型に変換し、最後にsumを呼び出して合計値を計算しています。

実行結果は以下のようになります。

合計: 30

以上が、Java 8 Stream APIを使用してArrayListから偶数を見つけ、その合計を求める方法です。