>  기사  >  Java  >  Java 9에서 Stream API의 메소드를 어떻게 구현할 수 있나요?

Java 9에서 Stream API의 메소드를 어떻게 구현할 수 있나요?

王林
王林앞으로
2023-08-25 14:45:02740검색

我们如何在Java 9中实现Stream API的方法?

StreamAPI 는 스트리밍 파이프라인 작업에 도움이 되는 다양한 내장 기능을 제공합니다. API는 선언적 프로그래밍으로, 코드를 더 정확하고 오류 가능성을 줄여줍니다. Java 9에서는 Stream API에 몇 가지 유용한 메소드가 추가되었습니다.

  • Stream.iterate(): 이 방법은 기존 for 루프를 대신하는 스트리밍 버전으로 사용할 수 있습니다.
  • Stream.takeWhile(): 이 메서드는 조건이 충족될 때 값을 가져오기 위해 while 루프에서 사용할 수 있습니다.
  • Stream.dropWhile(): 이 메서드는 조건이 충족되면 while 루프에서 값을 삭제할 수 있습니다.

다음 예에서는 Stream APIiterate(), 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) <= &#39;C&#39;)
.<strong>collect</strong>(Collectors.joining(","));

      String namesDtoZ = <strong>Arrays.stream</strong>(sortedNames).<strong>dropWhile</strong>(n -> n.charAt(0) <= &#39;C&#39;)
.<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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제