Stream API에서 Sum() 함수를 사용하려면 기본형 특화 스트림(Primitive Type) 스트림을 사용해야한다.
- 정수형 원시스트림
- IntStream
- LongStream
- DoubleStream
목표
- List 내의 map 내의 int value를 가진 특정 키를 찾아 합하고 싶다
코드
// 1. 순회할 리스트
List<HashMap> testList = testDAO.selectTestList(paramMap);
// testList : [{"cnt": 1}, {"cnt": 2}, {"cnt": 3}, {"cnt": 4}]
// 2. 리스트 내 Map 순회
int totalCnt = testList.stream()
// 3. Map 내에서 더할 대상인 cnt를 찾아 IntStream으로 변환
.mapToInt(i -> Integer.parseInt(i.get("cnt").toString()))
// 4. Stream의 총합 구하기
.sum();
System.out.println(totalCnt); // Result : 10 (1+2+3+4)
Ref.
'Language > JAVA' 카테고리의 다른 글
[iBatis] iterate (0) | 2024.06.14 |
---|---|
테스트 도구 JUnit5 (0) | 2024.03.14 |
Stream API (1) | 2024.02.27 |
[Java] Request Parameter 출력 (0) | 2024.01.15 |
[JAVA] 반복문에서 배열요소 삭제 (2) | 2023.11.02 |