Maison > Java > javaDidacticiel > le corps du texte

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

王林
Libérer: 2023-08-25 14:45:02
avant
744 Les gens l'ont consulté

我们如何在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);
   }
}
Copier après la connexion

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>
Copier après la connexion

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!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal