Stream

컬렉션, 배열 등의 저장 요소를 하나씩 참조하여

함수형 인터페이스를 적용하며 **반복적으로 처리**할 수 있는 기능

Untitled

위 물고기를 그물로 잡고, 여러 마리를 일정한 기준으로 모아서 상자에 넣고,

하나로 모은 뒤 트럭에 운반하는 과정 stream도 이와 별반 다르지 않습니다.

물고기와 같은 어류의 이동을 stream이라고 정의할 수 있습니다.

고등어를 잡고 싶어서 그물로 고등어를 잡았습니다. 이 행위를 filter라고 하고, 이 연산자를 중간 연산자

그리고 고등어를 포장하지 않고 생으로 팔 수는 없기 때문에

상자에 담아야 하는데 이 행위를 map이라고 하고, 이 연산자도 마찬가지로 중간 연산자

마지막으로, 수많은 상자를 운반하여 다른 곳으로 이동하면서 끝이 납니다.

이 행위를 collect라고 하고, 이 연산자는 최종 연산자


Stream의 특징

기능적 → 스트림은 컬렉션의 저장 요소를 하나씩 참조해서 람다식으로 처리할 수 있도록 해주는 반복자