JVM/Java

[Java] HashMap. stream으로 sum하기

Hyo Kim 2021. 9. 14. 11:54
728x90
반응형

😎서론

이번 HashMap<String, Integer>에서 sum을 해야하는 상황이 생겨서 분명

get으로 꺼내서 하나씩 sum하는 것 말고 stream으로 하는 방법이 있을 것 같아서 찾아봐서 기록한다.

 

😋본론

mapToIntreduce 방식 두 가지를 보게 되었는데

reduce가 개인적으로 더 깔끔해보여서 자주 사용하게 될 것 같다.

public static int getSum(final Map<String, Integer> data) {
	return data.values().stream().mapToInt(Integer::intValue).sum();
}
public static int getSum(final Map<String, Integer> data) {
	return data.values().stream().reduce(0, Integer::sum);
}

 

역시.. 항상 '이런거 있으려나?' 하고 찾아보면 다 있다.

세상엔 이미 뛰어난 사람들이 다 만들어놨다.. 잘 찾아서 잘 알맞게 사용하자..!

 

 

출처

https://stackoverflow.com/questions/30089469/how-to-sum-values-in-a-map-with-a-stream

728x90
반응형