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
반응형
'JVM > Java' 카테고리의 다른 글
[Java] junit5 파라미터로 List 전달하는 방법 (0) | 2021.11.19 |
---|---|
[Java]Stack 대신 Deque 사용하기 (0) | 2021.09.20 |
[JAVA+MSSQL]드라이버가 SSL(Secure Sockets Layer) 암호화를 사용하여 SQL Sever로 보안 연결을 설정할 수 없습니다. - 오류 해결방법 (2) | 2021.07.18 |
[Java] 객체[Object] List 중복된 ID 목록만 뽑기(추출) (0) | 2021.06.13 |
[Java] Random보단 SecureRandom 를 사용하자. (2) | 2021.06.06 |