Web Programing!/JAVA / JSP
[JAVA] List의 특정 ID별 Sum값 구하기
어설픈봉봉이
2021. 11. 18. 10:10
반응형
SMALL
※ List에 있는 Item들을 대상으로 고유한 ID별로 합계 구하기
class SumClass {
public String id;
public Float value;
}
※ 문제풀이
Collector.toMap(a1, a2, a3) 메서드
첫번째 인자에 의해서 Key (SumClass에서 id)
두번째 인자는 맵의 Value (SumClass에서 value)
세번째 인자는 Key에 충돌이 있는 경우 Value를 merge하는 연산자
세번째 인자에 Float::sum 연산자를 넘겨줌으로써 id가 동일한 경우 value를 합산하도록 Map을 작성한 것이다.
private Map<String, Float> sum(List<SumClass> list) {
return list.stream().collect(Collectors.toMap(e -> e.id, e -> e.value, Float::sum));
}
반응형