유한 Stream source를 만드는 대표 API

원본 형태에 맞는 factory를 고르면 element type 혼동을 줄인다.

Finite source

Collection.stream

collection encounter order를 따른다

object

Arrays.stream

object·primitive array를 펼친다

array

Stream.ofNullable

null이면 element 0개다

optional one

Builder

동적으로 element를 추가한 뒤 build한다

manual

핵심: I/O source는 terminal까지 resource owner 안에서 닫는다.