728x90
- strame() 으로 스트림 객체를 받아 처리
- 체인 패턴으로 중간 처리와 최종 처리를 연계하여 사용 가능
- 최종 처리가 있어야 오리지널 및 중간 처리 스트림이 동작
내부 반복자
- 컬렉션 바깥에서 가져와 처리하는 외부 반복자와 달리 내부에서 처리하며 병렬 작업이 가능
중간 처리
- 매핑
- mapToXXX() : 다른 요소로 변환
- Function 함수형 인터페이스 사용
- 람다식으로 표현
- asXXXStream() : 각 long 혹은 double요소로 변환
- boxed() : wrapper 클래스로 변환
- flastMapXXX : 복수 개의 요소들로 변환한 새로운 스트림 리턴
- mapToXXX() : 다른 요소로 변환
- 필터링
- distinct() : 중복 제거
- filter() : 조건 필터링
- Predicate 함수형 인터페이스 사용
- 람다식으로 표현
- 정렬
- sorted()
- 객체의 경우 Comparable 구현하고 있어야 가능
- sorted()
- 반복
- peek()
- Consumer 함수형 인터페이스 사용
- 람다식으로 사용
- peek()
최종 처리
- 반복
- forEach()
- 매칭
- boolean타입을 리턴
- allMatch() : 모든 요소가 만족하는지 여부
- anyMatch() : 최소한 하나의 요소가 만족하는지 여부
- noneMatch() : 모든 요소가 만족하지 않는지 여부
- 매칭의 함수들은 Predicate 함수형 인터페이스 사용
- 람다식으로 표현
- 집계
- count() : long 리턴
- sum() : int, long, double 리턴
- max(), min(), average(), findFirst() : OptionalXXX 리턴
- OptionalXXX 객체의 경우 getAsXXX()로 최종값 얻을 수있음
- Optional 객체
- isPresent() : 집계값이 있는지 여부
- orElse() : 집계값이 없을 경우 디폴트 값 설정
- ifPresent() : 집계값이 있을 경우 매개변수 Consumer 람다식이 처리
- reduce() : 람다식으로 커스텀 집계 가능
- collect() : 필요한 요소들을 컬렉션으로 반환
- Collectors.groupingBy() : 그룹핑후 매핑 및 집계를 할 수 있음
'BackEnd 학습 > Java' 카테고리의 다른 글
Java(자바) - 컬렉션 프레임워크 (0) | 2024.01.29 |
---|---|
Java(자바) - Thread(스레드) (0) | 2024.01.25 |
Java(자바) - 제너릭 (0) | 2024.01.25 |