StreamAPI 는 스트리밍 파이프라인 작업에 도움이 되는 다양한 내장 기능을 제공합니다. API는 선언적 프로그래밍으로, 코드를 더 정확하고 오류 가능성을 줄여줍니다. Java 9에서는 Stream API에 몇 가지 유용한 메소드가 추가되었습니다.
다음 예에서는 Stream API의 iterate(), takeWhile( ), 및 dropWhile() 메서드와 같은 정적 메서드를 구현할 수 있습니다.
import java.util.Arrays; import java.util.Iterator; import java.util.stream.Collectors; import java.util.stream.Stream; public class StreamAPITest { public static void main(String args[]) { String[] sortedNames = {"Adithya", "Bharath", "Charan", "Dinesh", "Raja", "Ravi", "Zaheer"}; System.out.println("[Traditional for loop] Indexes of names starting with R = "); for(int i = 0; i < sortedNames.length; i++) { if(sortedNames[i].<strong>startsWith</strong>("R")) { System.out.println(i); } } System.out.println("[Stream.iterate] Indexes of names starting with R = "); <strong>Stream.iterate</strong>(0, i -> i < sortedNames.length, i -> ++i).<strong>filter</strong>(i -> sortedNames[i].startsWith("R")).<strong>forEach</strong>(System.out::println); String namesAtoC = <strong>Arrays.stream</strong>(sortedNames).<strong>takeWhile</strong>(n -> n.<strong>charAt</strong>(0) <= 'C') .<strong>collect</strong>(Collectors.joining(",")); String namesDtoZ = <strong>Arrays.stream</strong>(sortedNames).<strong>dropWhile</strong>(n -> n.charAt(0) <= 'C') .<strong>collect</strong>(Collectors.joining(",")); System.out.println("Names A to C = " + namesAtoC); System.out.println("Names D to Z = " + namesDtoZ); } }
<strong>[Traditional for loop] Indexes of names starting with R = 4 5 [Stream.iterate] Indexes of names starting with R = 4 5 Names A to C = Adithya,Bharath,Charan Names D to Z = Dinesh,Raja,Ravi,Zaheer</strong>
위 내용은 Java 9에서 Stream API의 메소드를 어떻게 구현할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!