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...
Related Posts
- Java - BufferedReader로 파일 읽기
- Java - BufferedWriter로 파일 쓰기
- Java - BigInteger 범위, 비교, 연산, 형변환
- Java charAt() 함수 알아보기
- Java contains()로 문자(대소문자 X) 포함 확인
- Java - Set(HashSet)를 배열로 변환
- Java - 문자열 첫번째 문자, 마지막 문자 확인
- Java - 문자열 한글자씩 자르기
- Java - 문자열 단어 개수 가져오기
- Java - 1초마다 반복 실행
- Java - 배열을 Set(HashSet)로 변환
- Java - 여러 Set(HashSet) 합치기
- Java - 명령행 인자 입력 받기
- Java - 리스트 역순으로 순회, 3가지 방법
- Java - 특정 조건으로 리스트 필터링, 3가지 방법
- Java - HashMap 모든 요소들의 합계, 평균 계산
- Java - 특정 조건으로 HashMap 필터링
- Java - 싱글톤(Singleton) 패턴 구현
- Java - 숫자 왼쪽에 0으로 채우기
- Java - String 배열 초기화 방법
- Java - 정렬된 순서로 Map(HashMap) 순회