Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Java

Java 9 - Améliorations de l'API de flux

Les flux ont été introduits en Java pour aider les développeurs à effectuer des opérations d'agrégation à partir d'une séquence d'objets. Avec Java 9, quelques méthodes supplémentaires sont ajoutées pour améliorer les flux.

takeWhile (interface de prédicat)

Syntaxe

default Stream<T> takeWhile(Predicate<? super T> predicate)

La méthode takeWhile prend toutes les valeurs jusqu'à ce que le prédicat renvoie false. Il renvoie, en cas de flux ordonné, un flux constitué du plus long préfixe d'éléments extraits de ce flux correspondant au prédicat donné.

Exemple

import java.util.stream.Stream;

public class Tester {
   public static void main(String[] args) {
      Stream.of("a","b","c","","e","f").takeWhile(s->!s.isEmpty())
         .forEach(System.out::print);		 
   } 
}

Sortie

La méthode takeWhile prend toutes les valeurs a, b et c, puis une fois que la chaîne est vide, elle s'arrête de s'exécuter.

abc

dropWhile (interface de prédicat)

Syntaxe

default Stream<T> dropWhile(Predicate<? super T> predicate)

La méthode dropWhile rejette toutes les valeurs au début jusqu'à ce que le prédicat renvoie true. Il renvoie, en cas de flux ordonné, un flux composé des éléments restants de ce flux après avoir supprimé le plus long préfixe d'éléments correspondant au prédicat donné.

Exemple

import java.util.stream.Stream;

public class Tester {
   public static void main(String[] args) {
      Stream.of("a","b","c","","e","f").dropWhile(s-> !s.isEmpty())
         .forEach(System.out::print);
      
      System.out.println();
      Stream.of("a","b","c","","e","","f").dropWhile(s-> !s.isEmpty())
         .forEach(System.out::print);
   } 
}

Sortie

La méthode dropWhile supprime les valeurs a, b et c, puis une fois que la chaîne est vide, elle prend toutes les valeurs.

ef
ef

itérer

Syntaxe

static <T> Stream<T> iterate(T seed, Predicate<? super T> hasNext, UnaryOperator<T> next)

itérer la méthode a maintenant le prédicat hasNext comme paramètre qui arrête la boucle une fois que le prédicat hasNext renvoie false.

Exemple

import java.util.stream.IntStream;

public class Tester {
   public static void main(String[] args) {
      IntStream.iterate(3, x -> x < 10, x -> x+ 3).forEach(System.out::println);
   } 
}

Sortie

3
6
9

deNullable

Syntaxe

static <T> Stream<T> ofNullable(T t)

La méthode ofNullable est introduite pour empêcher NullPointerExceptions et pour éviter les vérifications nulles pour les flux. Cette méthode renvoie un flux séquentiel contenant un seul élément, s'il n'est pas nul, sinon renvoie un flux vide.

Exemple

import java.util.stream.Stream;

public class Tester {
   public static void main(String[] args) {
      long count = Stream.ofNullable(100).count();
      System.out.println(count);
  
      count = Stream.ofNullable(null).count();
      System.out.println(count);
   } 
}

Sortie

1
0

Java

  1. Opérateurs Java
  2. Commentaires Java
  3. Java pour chaque boucle
  4. Chaînes Java
  5. InterfaceJava
  6. Classe anonyme Java
  7. Java essayer avec des ressources
  8. Annotations Java
  9. Assertions Java