❗ 본 포스팅은 타이핑 공부법으로 작성하였습니다. 그렇기에 부족한 점이 존재할 수 있습니다.
4.1 스트림이란 무엇인가?
- 스트림은 데이터에 대한 질의를 통해 연산할 수 있으며 내부반복과 게으른 연산을 지원하는, 컬렉션과는 다른 방법이다.
4.2 스트림 시작하기
- 스트림은 '데이터 처리 연산을 지원하도록 소스에서 추출된 연속된 요소'이다.
- 데이터 처리 연산은 데이터 베이스의 질의와 비슷하게 구현을 고려하지 않고 질의을 하여 데이터 처리 연산을 하는 것을 의미한다.
- 연속된 요소는 컬렉션 처럼 연속된 요소를 가지고 있는 것을 의미한다.
- 소스는 컬렉션이나 데이터 I/O와 같이 연속된 데이터를 의미한다.
- 파이프 라이닝을 지원하고 내부반복을 수행한다.
- 스트림은 매우 비싼 연산이다.
4.3 스트림과 컬렉션
- 스트림은 데이터를 딱 한번만 순회할 수 있다. 즉 한번 탐색한 데이터에 대해서는 두번 다시 돌아가지 못한다. 만약 다시 탐색을 해야 하는 상황이 올 경우 다시 스트림을 생성해야 한다.
- 컬렉션은 반복문을 통해 외부 반복을 통해 탐색을 해야 하는 반면 스트림은 내부 반복을 통해 탐색을 한다.
4.4 스트림 연산
- 스트림은 중간 연산과 최종 연산으로 이루어져 있다. 중간 연산은 stream을 반환하고 최종 연산은 stream이외의 것을 반환한다.
- 중간 연산은 메서드 체이닝을 통해 수행된다.
- 스트림 연산은 게으른 연산을 한다. 즉 최종 연산을 하기 이전까지 아무런 연산을 수행하지 않는다.
'책 > 모던 자바 인 액션' 카테고리의 다른 글
8장 컬렉션 API 개선 (0) | 2024.06.12 |
---|---|
7장 병렬 데이터 처리와 성능 (0) | 2024.06.11 |
6장 스트림으로 데이터 수집 (0) | 2024.06.09 |
5장 스트림 활용 (0) | 2024.06.07 |
3장 람다 표현식 (0) | 2024.06.05 |