map transforme tous les éléments stockés dans son objet stream
La méthode map utilise deux variables de type
L'interface Stream reçoit «Stream
public interface Stream<T> ...
<R> Stream<R> map(Function<? super T,? extends R> mapper)
L'interface Stream est déclarée. Ici, la variable de type T est spécifiée pour créer une interface de type générique. Autrement dit, tout type peut être traité.
Définit la signature de la méthode de carte.
<R>
-> Déclaration de variable de type
-> La méthode map vous permet d'utiliser deux variables de type, T et R.
Stream<R>
-> Déclaration de la valeur de retour de la méthode map
-> La valeur de retour de la méthode map est de type Stream
** Puisque la méthode de carte est définie dans l'interface Stream \ <T >, cette méthode sera responsable de la conversion de Stream <T>
en Stream <R>
. ** **
map
-> Nom de la méthode
Function<? super T, ? extends R>
-> Type d'argument
-> Function est une interface fonctionnelle introduite à partir de Java8
-> L'interface de fonction prend un objet de type T et renvoie un objet de type R
-> ? Super
et? Extends
sont appelés des caractères génériques de limite
-> Cela élargit la gamme des fonctions qui peuvent être passées à la méthode map.
mapper
-> Nom de l'argument formel
sample.java
public List<String> collectEmpNames(List<Employee> employees) {
return employees.stream()
.map(e -> e.getName())
.collect(Collectors.toList());
}
La méthode stream () est appelée pour convertir la liste des employés en flux.
Vous appelez la méthode de la carte. Extrait le nom de chaque élément dans Employee's Stream et le convertit en une chaîne Stream.
e -> e.getName()
La méthode map prend un objet de fonction de type Function comme argument.
L'expression lambda ci-dessus est un objet qui implémente l'interface Function.
Plus précisément ... L'employé est stocké dans Stream lorsque la méthode de carte est appelée. Autrement dit, le type T est Employé. Par conséquent, getName () de la classe Employee peut être appelé sur le côté droit de l'expression. Étant donné que la valeur de retour de getName () est String, la valeur de retour de la méthode de carte est Stream \ <String >.
Appel de la méthode de collecte pour convertir Stream en List.
Recommended Posts