Holen Sie sich mit Java eine nicht leere Sammlung aus einem optionalen Stream

Der Versuch, etwas Nicht leeres aus dem `Optional``` Stream in Java zu bekommen, war ziemlich mühsam. Ich hatte keine andere Wahl, als mein Bestes mit filter () oder flatMap () zu geben, wie in https://www.baeldung.com/java-filter-stream-of-optional gezeigt. Mit dem Hinzufügen von `Optional :: stream``` aus Java 9 ist es jedoch viel einfacher geworden.

Angenommen, es gibt eine Funktion, die "Optional.empty ()" zurückgibt, wenn es sich um ein leeres Zeichen handelt, wie unten gezeigt. Angenommen, Sie möchten dies auf jedes Element einer Zeichenfolgenliste anwenden, um eine Liste nicht leerer Zeichen abzurufen.

	static Optional<String> map(String s) {
		if (s.length() == 0) {
			return Optional.empty();
		}
		return Optional.of(s);
	}

Es ist so, hart mit dem Filter </ code> zu arbeiten.

		List.of("1", "2", ,"", "3").stream()
			.map(Hoge::map)
			.filter(Optional::isPresent)
			.map(Optional::get)
		    .collect(Collectors.toList());

Dies passiert, wenn Sie Java 9 `` `Optional :: stream``` verwenden.

		List.of("1", "2", "", "3").stream()
			.map(Hoge::map)
			.flatMap(Optional::stream)
			.collect(Collectors.toList());

Recommended Posts

Holen Sie sich mit Java eine nicht leere Sammlung aus einem optionalen Stream
Holen Sie sich ganz einfach Ganzzahlen aus den Systemeigenschaften in Java
[Java] Ruft Werte zufällig aus einem Array ab
Ruft Attribute und Werte aus einer XML-Datei in Java ab
Bleiben Sie in einem Java Primer stecken
Abrufen des Verlaufs vom Zabbix-Server in Java
Java 9 Optional :: stream
GetInstance () aus einer @ Singleton-Klasse in Groovy aus Java
So erhalten Sie eine Klasse von Element in Java
Holen Sie sich Unixtime (Sekunden) von ZonedDateTime in Scala / Java
[Java] KFunction von Method / Constructor in Java abrufen [Kotlin]
Rufen Sie ein in Swift geschriebenes Programm von Processing (Java) auf.
[Android-Entwicklung] Holen Sie sich mit Java Bilder vom Server und legen Sie sie in ImageView fest! !!
Holen Sie sich Wettervorhersagen von Watson Weather Company Data mit einfachem Java
Java Stream API in 5 Minuten
Suchen Sie eine Teilmenge in Java
Speichern von Zeichenfolgen von ArrayList zu Zeichenfolge in Java (Personal)
[Java] KClass in Java herunterladen [Kotlin]
Was ist eine Java-Sammlung?
Schauen Sie sich Kotlin aus einer effektiven Java-Perspektive an
Deep Copy Collection in Java
[Anmerkung] Was ich in einem halben Jahr von unerfahrenen (Java) gelernt habe (1)
Verwandeln Sie ein Array von Strings in eine Liste von Ganzzahlen in Java
[Anmerkung] Was ich in einem halben Jahr von unerfahrenen (Java) gelernt habe (3)
Rufen Sie die öffentliche URL der privaten Datei von Flickr in Java ab
So ermitteln Sie die Länge einer Audiodatei mit Java
Effektives Java-Element 25 Wählen Sie eine Liste aus einem Array aus. Erste Hälfte
Ich habe eine E-Mail in Java gesendet
3 Implementieren Sie einen einfachen Interpreter in Java
Ich habe ein PDF mit Java erstellt.
Land von IP-Adresse abrufen (Java)
Holen Sie sich null-sichere Map-Werte in Java
Führen Sie eine Batchdatei von Java aus
Greifen Sie über eine Java-Anwendung auf Teradata zu
Versuchen Sie einen If-Ausdruck in Java
Ein einfaches Beispiel für Rückrufe in Java
Ich habe eine Anmerkung in Java gemacht.
Verwenden Sie Stream in Java?
Führen Sie einen externen Prozess in Java aus
Ich möchte für jedes Array mit Lambda-Ausdruck in Java
[Java] Generieren Sie mithilfe der Stream-API eine verengte Liste aus mehreren Listen
Beim Aufrufen von println usw. aus einer externen Java-Klassendatei in Processing
Lernen Sie Deep Learning von Grund auf in Java.
Bei der Suche nach mehreren in einem Java-Array
Holen Sie sich das Ergebnis von POST in Java
Bedeutung der aus der Java Collection gelernten Schnittstelle
Datenverarbeitung mit der Stream-API von Java 8
Rufen Sie Java-Methoden aus JavaScript auf, das in Java ausgeführt wird
Versuchen Sie es mit der Stream-API in Java
Abrufen von Anruferinformationen aus dem Stack-Trace (Java)
Map ohne Verwendung eines Arrays in Java
Schlüssel vom Wert in Java Map umkehren
[Erstellen] Ein Memorandum über das Codieren in Java
Java erstellt eine Tabelle in einem Word-Dokument
Java erstellt ein Kreisdiagramm in Excel
Was ist eine Klasse in der Java-Sprache (2 /?)
Ändern Sie die Liste <Optional <T >> in Java in Optional <Liste <T >>
Versuchen Sie, Kubernetes Job von Java aus auszuführen