[java] 스트림의 중간 연산과 최종 연산에 대한 설명

스트림(Stream)은 자바 8부터 도입된 새로운 기능으로, 컬렉션을 처리하는 데 다양한 기능을 제공합니다. 스트림은 연속된 데이터 요소들의 집합을 나타내며, 이를 활용하여 데이터를 처리하고 변환하는 작업을 수행할 수 있습니다.

스트림의 작업은 중간 연산과 최종 연산으로 구분됩니다. 중간 연산은 원본 스트림을 변환하고, 최종 연산은 스트림에서 최종 결과를 생성하거나 반환합니다.

중간 연산 (Intermediate Operations)

중간 연산은 스트림을 변환하거나 필터링하는 데 사용됩니다. 여러 가지 중간 연산을 연속해서 적용할 수 있으며, 원본 데이터를 변경하지 않고 새로운 스트림을 생성합니다.

자주 사용되는 중간 연산에는 다음과 같은 것들이 있습니다:

중간 연산은 ‘지연 연산’으로 처리되어 스트림 파이프라인을 구축하는 데 사용됩니다. 따라서 중간 연산을 수행해도 실제로는 데이터가 처리되지 않고, 최종 연산이 호출될 때까지 기다립니다.

최종 연산 (Terminal Operations)

최종 연산은 스트림에서 최종 결과를 생성하거나 반환하는 데 사용됩니다. 최종 연산은 스트림을 끝내고 스트림 파이프라인을 실행시킵니다.

자주 사용되는 최종 연산에는 다음과 같은 것들이 있습니다:

최종 연산은 스트림을 소모하며, 한 번만 호출될 수 있습니다. 중간 연산을 어떤 순서로 적용하든 최종 연산의 결과는 동일하게 나옵니다.

스트림의 중간 연산과 최종 연산을 조합하여 다양한 데이터 처리 작업을 수행할 수 있습니다. 스트림은 데이터의 처리를 간결하게 표현하고, 병렬 처리 및 성능 최적화에도 큰 장점을 제공합니다.

자세한 내용은 다음 자료를 참고하시기 바랍니다: