[item 47] 반환 타입으로는 스트림보다 컬렉션이 낫다
스트림은 반복(iteration)을 지우너하지 않는다. 따라서 스트림과 반복을 알맞게 조합해야 좋은 코드가 나온다. API를 스트림만 반환하도록 짜놓으면 반환된 스트림을 for-each로 사용해야하는 사용자는 불편하다.
사실 Stream 인터페이스는 Iterable 인터페이스가 정의한 추상 메서드를 전부 포함할 뿐 아니라, Iterable 인터페이스가 정의한 방식대로 동작한다. 그럼에도 for-each를 사용할 수 없는 이유는…