Java8-Listenkonvertierung mit Stream Map

Wir werden die Listenkonvertierung vergleichen, wenn wir die for-Anweisung verwenden und wenn wir die Stream-Map verwenden. Verwenden Sie die Liste unten.

stream-map.java


final List<String> months = 
Arrays.asList("January", "February", "March", "April", "May", "June", "July", "Augast", "September", "October", "November", "December");

Erstellen Sie eine Liste, die nur aus dem ersten Buchstaben jedes Elements besteht.

1. Verwenden Sie die for-Anweisung

Wir deklarieren eine leere Liste, um das erste Zeichen zu speichern und es zeichenweise in der for-Schleife zu speichern.

for.java


final List<String> firstChars = new ArrayList<>();
for (String c : months) {
  firstChars.add(c.substring(0,1));
}
for (String fc : firstChars) {
  System.out.print(fc);
}

Die Ausgabe ist wie folgt. JFMAMJJASOND

2. Verwenden Sie die forEach-Anweisung

Obwohl es als Funktionstyp neu geschrieben wurde, muss der Programmierer eine leere Liste erstellen.

forEach.java


final List<String> firstChars = new ArrayList<>();
months.forEach(c -> firstChars.add(c.substring(0,1)));
firstChars.forEach(System.out::print);

3. Verwenden Sie die Stream-Karte ()

Es gibt keinen Schritt, um eine leere Liste vorzubereiten, und das Ergebnis des Extrahierens des ersten Zeichens aus der Liste scheint so wie es ist in der neuen Liste gespeichert zu sein. Die map () -Methode von Stream konvertiert zusammenhängende Eingaben in zusammenhängende Ausgaben.

stream-map.java


final List<String> firstChars = months.stream().map(c -> c.substring(0,1)).collect(Collectors.toList());
firstChars3.forEach(System.out::print);

Die map () -Methode garantiert, dass die Liste der Eingaben und die Liste der Ausgaben dieselbe Anzahl von Elementen aufweisen, jedoch nicht unbedingt für die Datentypen. Wenn Sie die Anzahl der Zeichen in jedem Element ermitteln möchten, wird es vom Zeichenfolgentyp in den numerischen Typ konvertiert und ausgegeben.

Im Folgenden wird die konvertierte Liste nicht vorbereitet, sondern der Inhalt des Elements direkt mit forEach ausgegeben. Auf dieser Ebene ist es möglich, in einer Zeile zu beschreiben.

stream-map2.java


months.stream().map(c -> c.length()).forEach(cnt -> System.out.print(cnt + " "));
//Ausgabe als 7 8 5 5 3 4 4 6 9 7 8 8

Recommended Posts

Java8-Listenkonvertierung mit Stream Map
Java-Array / Liste / Stream gegenseitige Konvertierungsliste
[Java] Stream API / Map
Endian-Konvertierung mit JAVA
[Java] Konvertierung von Listentyp / Array-Typ
Listenverarbeitung zum Verstehen mit Bildern --java8 stream / javaslang-
[Java 8] Doppelte Löschung (& doppelte Überprüfung) mit Stream
[Java] Stream (Filter, Map, ForEach, Reduce)
[Java] Elementexistenzprüfung mit Stream
JAVA (Karte)
Erstellen Sie eine Listenkarte mit LazyMap
[Java] Konvertiere 1 in N Liste in Karte
Listenverarbeitung zum Verstehen mit Bildern --java8 stream / javaslang --bonus
[Java] Konvertierung von Array zu Liste
Konvertierung in voller Breite → halbe Breite mit Java-Zeichenfolge (Kana in voller Breite → Kana in halber Breite)
Unveränderlich (unveränderlich) Listet die Objektkonvertierungsfunktion in Java8 auf
Java-Typkonvertierung
Liste, Set, Karte
Java Memorandum (Liste)
Klonen Sie die Java-Liste.
Array / Liste / Karte
[Java] Kartenvergleich
Java Stream-Beendigung
Java 9 Optional :: stream
Machen Sie Java Stream Zeilenumbrüche mit Eclipse schön
Installieren Sie Java mit Homebrew
[Java] Stream Collectors Hinweis
Installieren Sie Java mit Ansible
[Java] Stream API-Stream-Generierung
Gelernter Stream (Ich möchte List in Map <Integer, List> konvertieren)
Stream-API-Zuordnungsmethode
Bequemer Download mit JAVA
Schalten Sie Java mit direnv
Informationen zur Java-Array-Liste
Enum Reverse Map Java
Bidirektionale Java-Kartenbibliothek
Java-Download mit Ansible
Lass uns mit Java kratzen! !!
Erste Schritte mit älteren Java-Ingenieuren (Stream + Lambda)
Erstellen Sie Java mit Wercker
[Memo] Java Linked List
FizzBuzz mit Stream ausgeben
Grobe Zusammenfassung des Java8-Streams
[Java] Konvertierung des Datumstyps
Wie man ganze Zahlen mit Rubin überprüft
Erstellen Sie eine Listenkarte mit LazyMap
Überprüfen Sie, wann Moos mit SimpleDateFormat analysiert wird
Java8-Listenkonvertierung mit Stream Map
Nur der Stream der obersten Ebene kann mit Java Stream parallelisiert werden.
So behandeln Sie Ausnahmen mit Java 8 Stream oder Optional kühl
Behandeln Sie Ausnahmen kühl mit Java 8-Lambda-Ausdrücken und der Stream-API
Ich möchte eine Liste mit Kotlin und Java erstellen!
Überdenken von Entwurfsmustern mit Java8-Lambda-Ausdrücken und Stream - Builder-Muster -
Informationen zum Verhalten beim Erstellen einer Dateizuordnung mit Java
Für Java-Anfänger: Liste, Karte, Iterator / Array ... Wie konvertiere ich?
Konvertieren Sie ein zweidimensionales Array mit der Java 8 Stream-API in das CSV-Format