반복자를 스트림으로 변환
Java 프로그래밍에서 반복자를 스트림으로 변환하면 컬렉션의 요소에 순차적으로 액세스할 수 있습니다. . 이는 필터링 또는 축소와 같이 요소에 대해 단일 전달만 필요한 작업에 유용할 수 있습니다.
반복기를 스트림으로 변환하려면 StreamSupport 클래스와 해당 stream() 메서드를 활용할 수 있습니다. 이 메서드는 반복자의 기본 구조를 나타내는 Spliterator를 입력으로 사용합니다. Spliterators.spliteratorUnknownSize() 메서드를 사용하여 반복자에서 Spliterator를 얻을 수 있습니다. 예는 다음과 같습니다.
Iterator<String> sourceIterator = Arrays.asList("A", "B", "C").iterator(); Stream<String> targetStream = StreamSupport.stream( Spliterators.spliteratorUnknownSize(sourceIterator, Spliterator.ORDERED), false);
반복자를 스트림으로 변환하는 또 다른 접근 방식은 람다 식을 사용하여 반복 가능 항목을 만드는 것입니다. Iterable 인터페이스는 기능적입니다. 즉, 단일 메소드로 구현을 정의할 수 있습니다. 이를 달성할 수 있는 방법은 다음과 같습니다.
Iterator<String> sourceIterator = Arrays.asList("A", "B", "C").iterator(); Iterable<String> iterable = () -> sourceIterator; Stream<String> targetStream = StreamSupport.stream(iterable.spliterator(), false);
이 기술은 특히 복잡한 반복기로 작업할 때 향상된 가독성을 제공합니다.
Stream.generate()를 사용하여 반복기를 스트림으로 변환하려고 할 때 메서드에서 반복자에 대해 hasNext()를 호출하지 않으면 NoSuchElementException이 발생할 수 있습니다. 이는 hasNext()가 반복자가 제공할 요소를 더 많이 갖도록 보장하기 때문입니다.
위 내용은 Java에서 반복자를 스트림으로 어떻게 변환합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!