[JAVA] [Pour les débutants] À propos des expressions lambda et de l'API Stream

J'expliquerai la description de l'expression lambda introduite à partir de Java 8 pour les débutants avec un mémorandum.

Qu'est-ce qu'une expression lambda?

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! !!

Comment écrire une expression lambda

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)); 

finalement

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

[Pour les débutants] À propos des expressions lambda et de l'API Stream
De nos jours, les expressions Java Lambda et l'API de flux
Java pour les débutants, les expressions et les opérateurs 1
Java pour les débutants, les expressions et les opérateurs 2
À propos des expressions Java lambda
À propos du traitement du crud et des produits utilisant un appareil (pour les débutants)
[Pour les débutants] Comment utiliser Stream API après Java 8
Utiliser des expressions Java lambda en dehors de l'API Stream
À propos de l'instruction et de l'instruction if
Application Java pour les débutants: stream
[Introduction à Java] À propos des expressions lambda
À propos de Lambda, Stream, LocalDate de Java8
[Introduction à Java] À propos de l'API Stream
[Pour les débutants en Java] À propos de la gestion des exceptions
Classes et instances Java pour les débutants
Jusqu'à ce que les débutants en programmation puissent utiliser des expressions lambda
Java8 / 9 Beginners: Streaming API addiction points et comment les gérer
Macro C pour watchOS et disponibilité de l'API Swift
Macro C pour tvOS et disponibilité de l'API Swift
Mémo API Stream
Mâchez l'API
API Java Stream
Principes de base de l'API Stream
[Pour les débutants] Comprendre rapidement les bases de Java 8 lambda
[Session d'étude interne] Principes de base de l'expression Java-Lambda et de l'API Stream- (13/07/2017)
Apprentissage pour la première fois des expressions et opérateurs Java # 3
Variables de tableau et tableaux associatifs Les débutants ont compilé pour les débutants
Liste des instructions Java fréquemment utilisées (pour les débutants et les débutants)
À propos de la structure de répertoires de RSpec et du rôle de chaque spécification