JVM/Java
[Java] HashMap. stream으로 sum하기
Hyo Kim
2021. 9. 14. 11:54
728x90
반응형
😎서론
이번 HashMap<String, Integer>에서 sum을 해야하는 상황이 생겨서 분명
get으로 꺼내서 하나씩 sum하는 것 말고 stream으로 하는 방법이 있을 것 같아서 찾아봐서 기록한다.
😋본론
mapToInt와 reduce 방식 두 가지를 보게 되었는데
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
반응형