반응형
스트림이란 컨베이어 벨트
데이터 원본을 변경하지 않는다.
무제한으로 실시간으로 들어오는 데이터를 연결할 수도 있다.
중계 Operator는 기본적으로 lazy 하다.
- 터미널 Operator를 만날때까지 실행되지 않는다.
- stream을 만들어뒀다고 그 시점의 데이터 기준 stream이라고 착각하지 말자.
스트림 API는 크게 두가지 종류의 메서드로 나뉜다.
- 중계(계속 이어지는) : stream을 return
- 종료 : stream이 아닌 것을 return
순서가 상관없는 경우에는 parallelStream()을 사용하면 알아서 병렬적으로 처리가 된다.
내부적으로는 spliterator가 사용되어 동강동강 내서 병렬처리한다.
중계 오퍼레이터의 종류
Filter
Map, FlatMap --> 꺼내는거, flatMap은 펼쳐서 꺼내는거
generate, iterate
limit, skip
anyMatch, allMatch
메서드 레퍼런스 쓸때 bool 인 경우 NOT(!)을 쓰고 싶을때는 Predicate.Not(~~)을 쓰면 된다.
내가 주로 사용하는 건 필터, 맵, 매치, 그룹 이다.
반응형
'백엔드 > Java' 카테고리의 다른 글
JOOQ (0) | 2023.05.22 |
---|---|
StringUtils.hasText 메서드 : C#의 String.IsNullorEmpty 메서드 대응 (0) | 2021.03.28 |
Collectors.groupingBy 널(null) 키 사용하기 (1) | 2021.03.08 |
Optional (0) | 2021.03.07 |
함수형 인터페이스 (0) | 2021.03.07 |
댓글