Java - ArrayListの合計、平均値の計算

ArrayListの要素の合計(sum)、平均値(average)を計算する方法を紹介します。

たとえば、arrという配列がある場合、この配列の要素の合計は143、平均は28.6です。

arr = [50, 22, 33, 13, 25]
sum: 143
average: 28.6

1. for 文による ArrayList の合計、平均計算

合計と平均を計算する最も直感的な方法は、繰り返しステートメントですべての要素を加算して合計を計算し、要素数で割って平均値を計算することです。

import java.util.ArrayList;
import java.util.Arrays;

public class Example {

    public static int sum(ArrayList<Integer> list) {
        int sum = 0;
        for (int num : list) {
            sum += num;
        }
        return sum;
    }

    public static void main(String[] args) {

        ArrayList<Integer> list = new ArrayList<>(
                Arrays.asList(50, 22, 33, 13, 25));

        int sum = sum(list);
        double average = (double) sum / list.size();

        System.out.println("sum: " + sum);
        System.out.println("average: " + average);
    }
}

Output:

sum: 143
average: 28.6

2. IntSummaryStatisticsによるArrayListの合計、平均計算

IntSummaryStatisticsは、Integer Streamのデータの最大、最小、合計、平均などに関する情報を持つクラスです。

次のようにStreamを使用してIntSummaryStatisticsオブジェクトを作成し、ここで合計と平均を取得できます。

import java.util.ArrayList;
import java.util.Arrays;
import java.util.IntSummaryStatistics;

public class Example1 {

    public static void main(String[] args) {

        ArrayList<Integer> list = new ArrayList<>(
                Arrays.asList(50, 22, 33, 13, 25));

        IntSummaryStatistics stats = list.stream()
                .mapToInt(Integer::intValue)
                .summaryStatistics();

        System.out.println("sum: " + stats.getSum());
        System.out.println("average: " + stats.getAverage());
        System.out.println("min: " + stats.getMin());
        System.out.println("max: " + stats.getMax());
    }
}

Output:

sum: 143
average: 28.6
min: 13
max: 50

Related Posts

codechachaCopyright ©2019 codechacha