Java 8부터 추가된 기능으로, 컬렉션과 배열과 같은 데이터 소스에서 요소를 처리하고 다양한 연산을 수행할 수 있는 APIStream 객체를 생성하는 역할Stream 객체의 요소를 처리하거나 필터링하는 등의 작업을 수행Stream 객체의 요소를 이용하여 결과를 도출하는 작업을 수행📗 Collection(컬렉션)
- 많은 수의 데이터를 그 사용 목적에 적합한 자료구조로 묶어 하나로 그룹화한 객체
- 아래와 같은 자료구조 유형에 따라 구분된다.
List: 목록처럼 데이터를 순서에 따라 관리Set: 중복이 허용되지 않는 데이터를 관리Map: 데이터를 Key와 Value로 짝을 이루어 관리하며, Key 값은 중복을 허용하지 않는다.Queue: 데이터를FIFO방식으로 관리한다.Stack: 데이터를LIFO방식으로 관리
filter() 연산// 특정 일련번호 값과 일치하는 데이터만 필터링한다.
long storeSeq = 1234;
List<storeResult> storeList = queryGetStoreList.stream()
.filter(store -> store.getSeq == storeSeq)
.collect(Collectors.toList());
max() 연산Optional 객체를 반환한다.min() 연산Optional 객체를 반환한다.// 가장 늦은 생일 찾기
Optional<Date> birthdayList = queryGetBirthdayList.stream()
.map(GetBirthdayListResult::getBirthday)
.max(Comparator);
recude() 연산// 금액의 총 합계 구하기
BigDecimal sumAmount = amountList.stream()
.map(GetAmountListResult::getAmount)
.reduce(BigDecimal.ZERO, BigDecimal::add);
[JAVA] Stream에 대한 사용법 및 내용 정리
[Java] Java에서 Collection(컬렉션)이란 ?
[Java] 스트림(Stream)의 최종 연산 - 요소의 통계 : count(), max(), min()
[Java] 스트림(Stream)의 최종 연산 - 요소의 소모 : reduce()