[JAVA] Stream-API-Zuordnungsmethode

Zusammenfassung

map transformiert alle in seinem Stream-Objekt gespeicherten Elemente Die Map-Methode verwendet zwei Typvariablen Die Stream-Schnittstelle empfängt "Stream " und die Map-Methode gibt "Stream " zurück.

Signatur der Kartenmethode

public interface Stream<T> ...
     <R> Stream<R> map(Function<? super T,? extends R> mapper)

Die erste Zeile

Die Stream-Schnittstelle ist deklariert. Hier wird die Typvariable T angegeben, um eine generische Typschnittstelle zu erstellen. Das heißt, jeder Typ kann behandelt werden.

2. Zeile

Definiert die Signatur der Kartenmethode.

<R> -> Deklaration der Typvariablen -> Mit der Kartenmethode können Sie zwei Typvariablen verwenden, T und R.

Stream<R> -> Erklärung des Rückgabewerts der Kartenmethode -> Der Rückgabewert der Map-Methode ist vom Typ Stream

** Da die Map-Methode in der Stream \ <T > -Schnittstelle definiert ist, ist diese Methode für die Konvertierung von "Stream " in "Stream " verantwortlich. ** ** **

map -> Methodenname

Function<? super T, ? extends R> -> Argumenttyp -> Funktion ist eine von Java8 eingeführte Funktionsschnittstelle -> Funktionsschnittstelle nimmt ein Objekt vom Typ T und gibt ein Objekt vom Typ R zurück -> ? Super und? Extends werden Boundary Wildcards genannt -> Dies erweitert den Funktionsumfang, der an die Kartenmethode übergeben werden kann.

mapper -> Name des formalen Arguments

Beispiel

sample.java


public List<String> collectEmpNames(List<Employee> employees) {
    return employees.stream()
                  .map(e -> e.getName())
                  .collect(Collectors.toList());
  }

Die erste Zeile

Die stream () -Methode wird aufgerufen, um die Mitarbeiterliste in Stream zu konvertieren.

2. Zeile

Sie rufen die Kartenmethode auf. Extrahiert den Namen aus jedem Element im Stream des Mitarbeiters und konvertiert ihn in einen String-Stream.

e -> e.getName() Die Map-Methode verwendet ein Funktionsobjekt vom Typ Funktion als Argument. Der obige Lambda-Ausdruck ist ein Objekt, das die Funktionsschnittstelle implementiert.

Speziell ... Der Mitarbeiter wird beim Aufrufen der Kartenmethode in Stream gespeichert. Das heißt, der Typ T ist Mitarbeiter. Daher kann getName () der Employee-Klasse auf der rechten Seite des Ausdrucks aufgerufen werden. Da der Rückgabewert von getName () String ist, lautet der Rückgabewert der Map-Methode Stream \ <String >.

3. Zeile

Aufruf der Collect-Methode zum Konvertieren von Stream in List.

Recommended Posts

Stream-API-Zuordnungsmethode
[Java] Stream API / Map
Kartenmethode
API-Memo streamen
Java Stream API
[Übung] Kartenmethode
Ruby Map Methode
Grundlagen der Stream-API
Stream-API (Collectors-Klasse)
Über die Kartenmethode
Java Stream API Spickzettel
Java Stream API in 5 Minuten
[Java] Stream API - Stream-Beendigungsverarbeitung
[Java] Stream API - Stream Zwischenverarbeitung
[Java] Einführung in die Stream-API
[Java] Stream API Zwischenoperation
[Java] Stream (Filter, Map, ForEach, Reduce)
[java8] Um die Stream-API zu verstehen
[Einführung in Java] Informationen zur Stream-API
Erstellen Sie eine einfach zu erweiternde Stream-API-Alternative
Unterschied zwischen Stream Map und FlatMap
Ich habe versucht, die Java8 Stream API zu verwenden
Java 8 ~ Stream API ~ startet jetzt
Java8-Listenkonvertierung mit Stream Map
Datenverarbeitung mit der Stream-API von Java 8
Heutzutage Java Lambda Expressions und Stream API
[Schienen] Verwendung der Kartenmethode
Probieren Sie verschiedene Java Stream API-Methoden aus (jetzt)
Anonyme Klasse (mit dem Ziel, Stream-API einzuführen)
Ich habe versucht, die Stream-API zusammenzufassen
Hinweise zur Stream-API und zu SQL von Java