Java - HashMap 모든 요소들의 합계, 평균 계산

HashMap의 모든 key 또는 value들의 합계와 평균을 계산하는 방법을 소개합니다.

1. for문을 이용한 방법

아래와 같이 for문을 이용하여 Map의 모든 value들을 순회하면서 합계를 계산할 수 있습니다. 평균은 합계를 HashMap의 size로 나누면 됩니다.

import java.util.HashMap;
import java.util.Map;

public class Example {

    public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();
        map.put("A", 13);
        map.put("B", 26);
        map.put("C", 30);

        int sum = 0;
        for (int value: map.values()) {
            sum += value;
        }
        System.out.println("sum: " + sum);

        double avg = sum / map.size();
        System.out.println("avg: " + avg);
    }
}

Output:

sum: 69
avg: 23.0

만약 key들의 합계를 계산하는 것이라면, 아래와 같이 key들에 대해서 순회하면서 합계를 계산하면 됩니다.

for (int value: map.keys()) {
    sum += value;
}

2. Stream을 이용한 방법

Stream을 이용하여 HashMap의 value들의 합계를 계산할 수 있습니다. (mapToInt(), mapToDouble() 등 이용)

평균은 합계를 Map의 size로 나누면 됩니다.

import java.util.HashMap;
import java.util.Map;

public class Example {

    public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();
        map.put("A", 13);
        map.put("B", 26);
        map.put("C", 30);

        int sum = map.values().stream().mapToInt(Integer::intValue).sum();
        System.out.println("sum: " + sum);

        double avg = sum / map.size();
        System.out.println("avg: " + avg);
    }
}

Output:

sum: 69
avg: 23.0
Loading script...
codechachaCopyright ©2019 codechacha