Rumah  >  Artikel  >  Java  >  Bagaimanakah kita boleh melaksanakan kaedah Stream API dalam Java 9?

Bagaimanakah kita boleh melaksanakan kaedah Stream API dalam Java 9?

王林
王林ke hadapan
2023-08-25 14:45:02751semak imbas

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

StreamAPI menyediakan banyak fungsi terbina dalam untuk membantu bekerja dengan saluran paip penstriman. API ialah pengaturcaraan deklaratif, menjadikan kod lebih tepat dan kurang terdedah kepada ralat. Dalam Java 9, beberapa kaedah berguna telah ditambahkan pada Stream API.

  • Stream.iterate(): Kaedah ini boleh digunakan sebagai pengganti versi penstriman untuk for loop tradisional.
  • Stream.takeWhile(): Kaedah ini boleh digunakan dalam gelung sementara untuk mengambil nilai apabila syarat dipenuhi.
  • Stream.dropWhile(): Kaedah ini boleh memadamkan nilai dalam gelung while apabila syarat dipenuhi.

Dalam contoh berikut, kita boleh melaksanakan kaedah statik: iterate(), takeWhile( ), dan dropWhile() kaedah Stream API.

Contoh

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);
   }
}

Output

<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>

Atas ialah kandungan terperinci Bagaimanakah kita boleh melaksanakan kaedah Stream API dalam Java 9?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam