Maison  >  Article  >  Java  >  Comment pouvons-nous implémenter les méthodes de l’API Stream dans Java 9 ?

Comment pouvons-nous implémenter les méthodes de l’API Stream dans Java 9 ?

王林
王林avant
2023-08-25 14:45:02742parcourir

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

StreamAPI fournit de nombreuses fonctions intégrées pour faciliter l'utilisation des pipelines de streaming. L'API est une programmation déclarative, ce qui rend le code plus précis et moins sujet aux erreurs. Dans Java 9, certaines méthodes utiles ont été ajoutées à l'Stream API.

  • Stream.iterate() : Cette méthode peut être utilisée comme remplacement de la version streaming de la boucle for traditionnelle.
  • Stream.takeWhile() : Cette méthode peut être utilisée dans une boucle while pour prendre la valeur lorsque la condition est remplie.
  • Stream.dropWhile() : Cette méthode peut supprimer la valeur dans la boucle while lorsque la condition est remplie.

Dans l'exemple suivant, nous pouvons implémenter des méthodes statiques : iterate(), takeWhile( ), et dropWhile() méthode de Stream API.

Exemple

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

Sortie

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer