English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java Grundlagenanleitung

Java Flusskontrolle

Java Array

Java objektorientiert (I)

Java objektorientiert (II)

Java objektorientiert (III)

Java Ausnahmebehandlung

Java Liste (List)

Java Queue (Warteschlange)

Java Map-Sammlung

Java Set-Sammlung

Java Eingabe/Ausgabe (I/O)

Java Reader/Writer

Andere Themen in Java

Java 9 Die verbesserte Stream API

Java 9 Neue Funktionen

Java 9 Die verbesserte Stream API hat einige bequeme Methoden hinzugefügt, die die Verarbeitung von Strömen erleichtern und die Erstellung komplexer Abfragen mit Sammlern ermöglichen.

Java 9 Es wurden mehrere Methoden für Stream hinzugefügt: dropWhile, takeWhile, ofNullable, und eine überladene Methode für die iterate-Methode hinzugefügt.

takeWhile-Methode

Syntax

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

takeWhile() Methode verwendet eine Assertion als Parameter und gibt die Untergruppe des gegebenen Stream zurück, bis die Assertion zum ersten Mal false zurückgibt. Wenn der erste Wert die Assertion nicht erfüllt, wird ein leerer Stream zurückgegeben.

takeWhile() Methode gibt im sortierten Stream so viele Elemente wie möglich von Anfang an zurück; im unsortierten Stream gibt takeWhile() die Untergruppe der Elemente zurück, die die Predicate-Anforderung erfüllen.

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

Der obige Beispiel takeWhile-Methode stoppt die Wiedergabe, wenn ein leerer String erreicht wird, und das Ausgaberesultat der Ausführung ist:

abc

dropWhile-Methode

Syntax

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

dropWhile-Methode und takeWhile-Methode wirken sich gegensätzlich aus, indem ein Assertion als Parameter verwendet wird, bis die Assertion zum ersten Mal false zurückgibt, bevor der untergeordnete Stream der gegebenen Stream zurückgegeben wird.

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

Der obige Beispiel dropWhile-Methode beginnt mit einem leeren String, um die Wiedergabe zu starten, und das Ausgaberesultat der Ausführung ist:

ef

iterate Methode

Syntax

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

Die Methode ermöglicht die Erstellung von aufeinanderfolgenden (möglicherweise unendlichen) Strömen mit einem Initialwert und iteriert die Anwendung der angegebenen nächsten Methode. Die Iteration wird beendet, wenn der angegebene hasNext-Predicate false zurückgibt.

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

Die Ausgabe des Ausführungsresultats ist:

3
6
9

ofNullable Methode

Syntax

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

Die Methode ofNullable kann NullPointerExceptions verhindern, indem sie den Strom überprüft, um null Werte zu vermeiden.

Wenn das angegebene Element nicht null ist, wird ein Element abgerufen und ein Einzelelementstrom generiert, wenn das Element null ist, wird ein leerer Strom zurückgegeben.

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

Die Ausgabe des Ausführungsresultats ist:

1
0

Java 9 Neue Funktionen