Java 8의 Iterable에서 스트림 얻기
반복 가능한 데이터로 작업할 때 프로그래머는 종종 Java 8 Stream을 활용해야 하는 문제에 직면합니다. API. 그러나 iterable은 본질적으로 "스트림" 메서드를 제공하지 않습니다.
문제:
어떻게 하면 iterable과 스트림 사이의 격차를 메우면서 변환 오버헤드를 피할 수 있습니까? 반복 가능 목록?
해결책:
Java 8은 이 문제에 대한 편리한 솔루션을 제공합니다. Iterables는 Spliterator() 메소드를 가지고 있어 Spliterator를 추출할 수 있습니다. 그런 다음 이 분할기를 StreamSupport.stream 메서드에 전달하여 스트림을 생성할 수 있습니다.
StreamSupport.stream(iterable.spliterator(), false) .filter(...) .moreStreamOps(...);
이 접근 방식은 SpliteratorUnknownSize를 직접 사용하는 것보다 여러 가지 이점을 제공합니다.
이 기술을 활용하면 기존 Iterable 데이터를 스트림으로 쉽게 변환하고 정교한 데이터를 위해 Java 8 Stream API의 기능을 활용할 수 있습니다. 조작.
위 내용은 중간 목록을 생성하지 않고 Java Iterable을 스트림으로 효율적으로 변환하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!