안녕하세요, 하마연구소 입니다.
자바에서 Iterable
인터페이스를 구현한 객체를 스트림으로 처리하는 간단한 방법이 있습니다.StreamSupport
클래스를 사용하면 되며, 자바에 기본으로 포함되어 있습니다.
아래 소스와 같이 Iterable
에서 Spliterator
를 얻어서 stream 처리하면 됩니다.
Iterable<String> iterable = new LinkedList<>();
Spliterator<String> spliterator = iterable.spliterator();
StreamSupport.stream(spliterator, false)
.forEach(data -> {
// do something
});
StreamSupport.stream()
의 두번째 파라미터를 true로 주면 parallel(병렬) 스트림 처리도 가능합니다.
감사합니다.