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
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha