J'expliquerai la description de l'expression lambda introduite à partir de Java 8 pour les débutants avec un mémorandum.
Les expressions Lambda sont un format de description introduit à partir de Java8 qui permet aux méthodes d'être traitées comme des variables. L'utilisation d'expressions lambda simplifie l'écriture et facilite l'écriture de code.
De plus, l'utilisation d'expressions lambda lors de l'utilisation d'interfaces fonctionnelles telles que l'API Stream facilite l'écriture! !!
Tout d'abord, je vais expliquer la méthode de description réelle de l'expression lambda.
RunnableLamda.java
public static void main(String[] args) {
Runnable runner = () -> System.out.println("Hello");
runner.run(); //Hello
}
Ce qui précède décrit l'interface exécutable à l'aide d'une expression lambda. Dans la classe anonyme, "new Runnabl () {}" et "public void run" sont omis.
Notez également que les expressions lambda ne peuvent utiliser qu'une seule interface avec des méthodes abstraites.
Le type d'argument est automatiquement estimé par le compilateur et n'a pas besoin d'être décrit. Cependant, même si vous écrivez le type comme d'habitude, vous n'obtiendrez pas d'erreur de compilation.
StreamAPI Comme l'expression lambda, la fonction "Stream API" ajoutée dans Java 8 est une API pratique lors du traitement d'un ensemble d'éléments tels que List et Collection.
L'API Stream est construite sur la prémisse des expressions lambda, elle est donc très compatible.
Par exemple, le processus d'affichage uniquement des nombres pairs de 1 à 6 peut être écrit comme suit.
StreamLamda.java
List<Integer> integerList = Arrays.asList(1, 2, 3, 4, 5, 6);
integerList.stream()
.filter(i -> i % 2 == 0)
.forEach(i -> System.out.println(i));
Nous présenterons également d'autres API Stream. forEach Bouclez le contenu de la liste. Très facile à écrire.
ForEachSample.java
Arrays.asList(new Integer[] { 1, 2, 3, 4, 5, 6 }).forEach(System.out::println);
filter Il s'agit d'une opération intermédiaire de filtrage et sert d'instruction if. Passez une expression lambda qui est T-> booléenne comme argument. Ne collectez que les éléments dont l'expression est vraie.
FilterSample.java
Arrays.asList(new Integer[] { 1, 2, 3, 4, 5, 6 }).stream().filter(x -> x > 3).forEach(System.out::println);
map C'est une opération intermédiaire qui peut convertir des éléments, et vous pouvez exécuter quatre règles sur les éléments et même convertir des types.
MapSample.java
List<Integer> integerList = Arrays.asList(1, 2, 3, 4, 5, 6);
integerList.stream()
.map(i -> "L'élément est" + i + "est")
.forEach(i -> System.out.println(i));
Les expressions lambda et l'API Stream introduites cette fois peuvent également être écrites de manière conventionnelle. Cependant, dans le domaine du développement, il existe de nombreuses possibilités de lire du code écrit par d'autres ainsi que de coder par vous-même. D'autres programmes peuvent contenir des expressions lambda et des API Stream, alors habituez-vous à eux!
Recommended Posts