스트림으로 반환하지 않으면, 최종 연산임
필터
1. filter()
- 프리디케이트를 인수로 받아, true인 요소를 스트림으로 반환
2. distinct()
- 모든 중복 요소를 검사해, 고유 요소를 스트림으로 반환
3. takeWhile()
- 프리디케이트를 인수로 받아, true인 요소를 스트림으로 반환
- 정렬되어있을때, false가 나오면 그 뒤의 false 요소들을 모두 자름
4. dropWhile()
- 프리디케이트를 인수로 받아, false인 요소를 스트림으로 반환
- 정렬되어있을때, false가 나오면 그 앞의 true 요소들을 모두 자름
5. limit()
- 양의 정수를 인수로 받아, 딱 그정도만 잘라서 스트림으로 반환
6. skip()
- 양의 정수를 인수로 받아, 처음 n개의 요소를 제외한 스트림을 반환
변환
1. map()
- 함수를 인수로 받아, 적용 후 변환된 스트림을 반환
2. flatMap()
- 하나의 스트림을 여러개로 쪼갤 때 사용.
- 하나의 스트림을 여러개로 쪼개 스트림을 반환
검색
1. anyMatch()
- 스트림 안에 true인 요소가 하나 이상 있는가?
- 프리티케이트를 인수로 받아 boolean을 반환
2. allMatch()
- 스트림 안에 true인 요소만 있는가?
- 프리디케이트를 인수로 받아 boolean을 반환
3. noneMatch()
- 스트림 안에 false인 요소만 있는가?(allMatch()와 반대)
- 프리디케이트를 인수로 받아 boolean을 반환
4. findAny()
- 여러 스트림이 filter를 통해 나오면, 그 중 아무거나 같은 타입으로 반환한다.
5. findFirst()
- 여러 스트림이 filter를 통해 나오면, 그 중 가장 처음 찾은 요소를 같은 타입으로 반환한다.
-> findAny(), findFirst()는 Optional과 함께 사용할 것(이후 Optional 게시물 올릴 예정)
-> 속도가 중요하고 일치하는 아무 요소나 반환해도되면 findAny()을 쓴다. -> 그닥, 속도면에서는 차이가 없을 듯 하다.(어차피 중요한 데이터는 DB를 통해 찾아올것이다.)
연산
1. reduce()
- 초깃값, 람다를 통해 연산이 가능하다.
예시들은 11.15 추가 예정