map transformiert alle in seinem Stream-Objekt gespeicherten Elemente
Die Map-Methode verwendet zwei Typvariablen
Die Stream-Schnittstelle empfängt "Stream
public interface Stream<T> ...
<R> Stream<R> map(Function<? super T,? extends R> mapper)
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.
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
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
sample.java
public List<String> collectEmpNames(List<Employee> employees) {
return employees.stream()
.map(e -> e.getName())
.collect(Collectors.toList());
}
Die stream () -Methode wird aufgerufen, um die Mitarbeiterliste in Stream zu konvertieren.
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 >.
Aufruf der Collect-Methode zum Konvertieren von Stream in List.
Recommended Posts