Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Java

Java 9 – Stream-API-Verbesserungen

Streams wurden in Java eingeführt, um Entwicklern dabei zu helfen, Aggregatoperationen aus einer Folge von Objekten durchzuführen. Mit Java 9 werden einige weitere Methoden hinzugefügt, um Streams besser zu machen.

takeWhile(Prädikatschnittstelle)

Syntax

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

Die takeWhile-Methode übernimmt alle Werte, bis das Prädikat „false“ zurückgibt. Es gibt im Falle eines geordneten Stroms einen Strom zurück, der aus dem längsten Präfix von Elementen besteht, die diesem Strom entnommen wurden und mit dem angegebenen Prädikat übereinstimmen.

Beispiel

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

Ausgabe

takeWhile-Methode nimmt alle a-, b- und c-Werte, und sobald der String leer ist, wird die Ausführung beendet.

abc

dropWhile(Prädikatschnittstelle)

Syntax

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

dropWhile-Methode verwirft alle Werte am Anfang, bis das Prädikat wahr zurückgibt. Es gibt im Falle eines geordneten Stroms einen Strom zurück, der aus den verbleibenden Elementen dieses Stroms besteht, nachdem das längste Präfix von Elementen, die mit dem angegebenen Prädikat übereinstimmen, gelöscht wurde.

Beispiel

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

Ausgabe

Die dropWhile-Methode löscht a-, b- und c-Werte, und sobald der String leer ist, nimmt sie alle Werte.

ef
ef

wiederholen

Syntax

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

iterate-Methode hat jetzt das hasNext-Prädikat als Parameter, der die Schleife stoppt, sobald das hasNext-Prädikat falsch zurückgibt.

Beispiel

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

Ausgabe

3
6
9

Nullable

Syntax

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

ofNullable-Methode wird eingeführt, um NullPointerExceptions zu verhindern und Nullprüfungen für Streams zu vermeiden. Diese Methode gibt einen sequentiellen Stream zurück, der ein einzelnes Element enthält, wenn es nicht null ist, andernfalls gibt es einen leeren Stream zurück.

Beispiel

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

Ausgabe

1
0

Java

  1. Java-Operatoren
  2. Java-Kommentare
  3. Java for-each-Schleife
  4. Java-Strings
  5. Java-Schnittstelle
  6. Anonyme Java-Klasse
  7. Java-Versuch-mit-Ressourcen
  8. Java-Anmerkungen
  9. Java-Assertionen
  10. Java 9 - Übersicht