SeouliteLab

[Java/자바] HashMap 모든 요소들의 합계와 평균 계산하기 본문

프로그래밍

[Java/자바] HashMap 모든 요소들의 합계와 평균 계산하기

Seoulite Lab 2024. 3. 7. 09:05

HashMap은 키-값 쌍을 저장하는 자료구조로, 자주 사용됩니다. 때로는 HashMap에 저장된 값들의 합계나 평균을 계산해야 할 때가 있습니다. 이를 위해 Java에서는 여러 가지 방법을 제공합니다. 아래에서는 HashMap의 모든 요소들의 합계와 평균을 계산하는 여러 가지 방법을 예제와 함께 살펴보겠습니다.

예제 1: 기본 for-each 루프를 사용한 합계와 평균 계산

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

public class HashMapSumAverageExample {
    public static void main(String[] args) {
        Map<String, Integer> hashMap = new HashMap<>();
        hashMap.put("A", 10);
        hashMap.put("B", 20);
        hashMap.put("C", 30);
        
        int sum = 0;
        for (int value : hashMap.values()) {
            sum += value;
        }
        double average = (double) sum / hashMap.size();
        
        System.out.println("합계: " + sum);
        System.out.println("평균: " + average);
    }
}

위 예제는 기본적인 for-each 루프를 사용하여 HashMap의 모든 값들의 합계와 평균을 계산하는 방법입니다. Map의 values() 메서드를 사용하여 값들을 가져온 후, 루프를 통해 각 값을 합산한 후 평균을 계산합니다.

예제 2: Stream API를 사용한 합계와 평균 계산

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

public class HashMapSumAverageExample {
    public static void main(String[] args) {
        Map<String, Integer> hashMap = new HashMap<>();
        hashMap.put("A", 10);
        hashMap.put("B", 20);
        hashMap.put("C", 30);
        
        double sum = hashMap.values().stream().mapToInt(Integer::intValue).sum();
        double average = sum / hashMap.size();
        
        System.out.println("합계: " + sum);
        System.out.println("평균: " + average);
    }
}

Java 8부터는 Stream API를 사용하여 간단하게 합계와 평균을 계산할 수 있습니다. HashMap의 values() 메서드를 사용하여 값들을 가져온 후, stream() 메서드로 스트림을 생성한 후에 sum() 메서드로 합계를 구합니다.

예제 3: Apache Commons Collections 라이브러리를 사용한 합계와 평균 계산

import org.apache.commons.collections4.MapUtils;

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

public class HashMapSumAverageExample {
    public static void main(String[] args) {
        Map<String, Integer> hashMap = new HashMap<>();
        hashMap.put("A", 10);
        hashMap.put("B", 20);
        hashMap.put("C", 30);
        
        double sum = MapUtils.getDoubleValue(hashMap, "A") +
                     MapUtils.getDoubleValue(hashMap, "B") +
                     MapUtils.getDoubleValue(hashMap, "C");
        double average = sum / hashMap.size();
        
        System.out.println("합계: " + sum);
        System.out.println("평균: " + average);
    }
}

Apache Commons Collections 라이브러리의 MapUtils 클래스를 사용하여 HashMap의 모든 값들의 합계와 평 균을 계산하는 방법입니다. getDoubleValue() 메서드를 사용하여 각 값들을 가져온 후 합산합니다.