Sobes.tech
Junior

Avec quelle interface fonctionnelle travaillons-nous dans la méthode map() ?

sobes.tech IA

Réponse de l'IA

Dans la méthode map() des streams Java, nous travaillons avec l'interface fonctionnelle java.util.function.Function.

// Exemple d'utilisation de Function dans la méthode map()
import java.util.List;
import java.util.stream.Collectors;

List<String> words = List.of("hello", "world");

// Function<String, Integer> convertit un String en Integer
List<Integer> lengths = words.stream()
                             .map(s -> s.length()) // L'expression lambda implémente Function<String, Integer>
                             .collect(Collectors.toList());

// Autre méthode avec référence de méthode
List<Integer> lengthsMethodRef = words.stream()
                                      .map(String::length) // La référence de méthode implémente également Function<String, Integer>
                                      .collect(Collectors.toList());

L'interface Function<T, R> prend un argument de type T et retourne un résultat de type R. Dans le contexte de map(), T est le type des éléments du stream d'entrée, et R est le type des éléments du stream de sortie.