[JAVA] So konvertieren Sie ein Array von Strings mit der Stream-API in ein Array von Objekten

Bild von dem, was Sie implementieren möchten

** Vor der Konvertierung: **

String[] strArray = {"Apfel", "Mandarine", "Banane"};

** Nach der Konvertierung: **

Fruit ringo = new Fruit("Apfel");
Fruit mikan = new Fruit("Mandarine");
Fruit banana = new Fruit("Banane");
Fruit[] fruitArray = {ringo, mikan, banana};

Umgebung

OS:Windows 10 Java:Oracle JDK 11 (Es wird interpretiert, dass es kostenlos für Anwendungen wie Entwicklung und Test verwendet werden kann)

(Referenz) Im Falle einer gewöhnlichen Aussage

String[] strArray = {"Apfel", "Mandarine", "Banane"};
Fruit[] fruitArray = new Fruit[strArray.length];
for(int i = 0; i < strArray.length; i++) {
    fruitArray[i] = new Fruit(strArray[i]);
}

Bei Verwendung der Stream-API

Fruit[] fruitArray = Arrays.stream(strArray)  // (1)
    .map(Fruit::new)                          // (2)
    .toArray(Fruit[]::new);                   // (3)

Leicht erklären

(1) Vom String-Array in einen String-Stream konvertieren. (String [] ⇒ Stream \ <String >)

(2) Generieren Sie mit der Map-Methode eine Fruit-Klasse für jedes Stream-Element. Da der Konstruktor nur ein Argument für den String-Namen enthält, ist diese Beschreibung in Ordnung. (Natürlich ist auch der Lambda-Ausdruck s-> new Fruit (s) in Ordnung.)

(3) Konvertieren Sie mit der toArray-Methode in ein Array.

Zusammenfassung

Wenn Sie nicht daran gewöhnt sind, ist der for-Satz leichter zu verstehen und zu schreiben. Sobald Sie sich daran gewöhnt haben, ist der Code kürzer und mit der Stream-API einfacher zu schreiben.

Ich bin noch ein Anfänger in Stream, also möchte ich mich zwingen, mich schnell daran zu gewöhnen.

Recommended Posts

So konvertieren Sie ein Array von Strings mit der Stream-API in ein Array von Objekten
Konvertieren Sie ein Array von Zeichenfolgen in Zahlen
Konvertieren Sie ein zweidimensionales Array mit der Java 8 Stream-API in das CSV-Format
Anfordern durch Übergeben eines Arrays an eine Abfrage mit dem HTTP-Client von Ruby
[Swift5] So erhalten Sie ein Array und eine Reihe von Unterschieden zwischen Arrays
Die Geschichte von toString () beginnt mit der Übergabe eines Arrays an System.out.println
[Java] So konvertieren Sie ein Element eines Array vom Typ String in einen Int-Typ
Konvertieren Sie das Array von error.full_messages in Zeichen und geben Sie es aus
So geben Sie einen Standard aus einem Array mit for Each aus
Verwendung von git mit der Leistung von jgit in einer Umgebung ohne git-Befehle
Hinzufügen von Elementen ohne Angabe der Länge des Arrays
Jetzt ist es an der Zeit, mit der Stream-API zu beginnen
Konvertieren Sie ein potenziell null-Array in einen Stream
[java8] Um die Stream-API zu verstehen
So geben Sie ein Array für den Rückgabewert / das Rückgabeargument einer Methode in der CORBA IDL-Datei an
Versuchen Sie, die Idee eines zweidimensionalen Arrays mit einem eindimensionalen Array nachzuahmen
So geben Sie den Wert aus, wenn sich ein Array im Array befindet
Verwandeln Sie ein Array von Strings in eine Liste von Ganzzahlen in Java
So ermitteln Sie die Länge einer Audiodatei mit Java
[Rails] So konvertieren Sie den URI des von http gesendeten Bildes in https, wenn Sie die Twitter-API verwenden
[Java] So suchen Sie mit der Methode includes nach Werten in einem Array (oder einer Liste)
So beschneiden Sie ein Bild in libGDX
Vergleichen Sie Elemente eines Arrays (Java)
So bestimmen Sie die Anzahl der Parallelen
So sortieren Sie eine Liste von SelectItems
Ich habe versucht, die Stream-API zusammenzufassen
So dekorieren Sie CSS auf Rails6 form_with (Hilfs-) Optionsfeldern
[Swift] Zusammenfassung zum Löschen von Elementen aus einem Array (persönliches Memo)
[Java] So drehen Sie ein zweidimensionales Array mit einer erweiterten for-Anweisung
So greifen Sie mit der TCP-Funktion von Spring Integration direkt auf Socket zu
Rufen Sie den Typ eines Elements eines Arrays ab, um festzustellen, ob es sich um ein Array handelt
[swift5] So ändern Sie die Farbe der TabBar oder die Farbe des TabBar-Elements mit Code
Java8 / 9-Anfänger: Streamen Sie API-Suchtpunkte und wie Sie damit umgehen
Eine Geschichte, die ich mit der Stream-API von Java8 einem Prozess schreiben wollte, der einer while-Anweisung entspricht
So finden Sie die Ursache des Ruby-Fehlers
[java] Zusammenfassung des Umgangs mit Zeichenketten
Passen Sie an, wie der Inhalt von Recyclerview aufgeteilt wird
So erhalten Sie die ID eines Benutzers, der sich in Swift bei Firebase authentifiziert hat
So verwenden Sie ein Array für HashMap-Schlüssel
Konvertieren Sie eine Zeichenfolge mit swift in ein zeichenweises Array
Wie komme ich zum heutigen Tag?
Ausgabe der Verwendung der Slice-Methode
[Java] So erhalten Sie mithilfe von Stream auf einfache Weise die längste Zeichenfolge von ArrayList
Berechnen Sie die Ähnlichkeitsbewertung von Zeichenketten mit JAVA
Rails6 Ich möchte ein Array von Werten mit einem Kontrollkästchen erstellen
[Hinweis] [Anfänger] Schreiben, wenn der Wert eines Array-Elements in einem sich wiederholenden Satz von Ruby geändert wird
So erstellen Sie mit Docker ~ Vue ~ eine [TypeScript + Vue + Express + MySQL] -Umgebung
So erstellen Sie eine API mit GraphQL und Rails
So zeigen Sie das Ergebnis des Ausfüllens des Formulars an
Erste Schritte mit Doma-Einführung in die Kriterien-API
[Rails] So erstellen Sie eine Umgebung mit Docker
Wenn Sie SQLite mit VSCode verwenden, verwenden Sie die Erweiterung (wie die Binärdatei von sqlite3 angezeigt wird)
So ermitteln Sie den Gesamtwert, den Durchschnittswert usw. eines zweidimensionalen Arrays (mehrdimensionales Array) -java
Ich habe versucht, den Betrieb der http-Anfrage (Put) mit dem Talented API Tester zu überprüfen
[Docker] So sehen Sie den Inhalt von Volumes. Starten Sie einen Container mit Root-Rechten.
So legen Sie ein Wiederholungslimit für Sidekiq fest und benachrichtigen tote Warteschlangen mit Slack