Junior
¿Con qué interfaz funcional trabajamos en el método map()?
sobes.tech AI
Respuesta de la IA
En el método map() de los streams de Java, trabajamos con la interfaz funcional java.util.function.Function.
// Ejemplo de uso de Function en el método map()
import java.util.List;
import java.util.stream.Collectors;
List<String> words = List.of("hello", "world");
// Function<String, Integer> convierte un String en un Integer
List<Integer> lengths = words.stream()
.map(s -> s.length()) // La expresión lambda implementa Function<String, Integer>
.collect(Collectors.toList());
// Otra forma usando referencia a método
List<Integer> lengthsMethodRef = words.stream()
.map(String::length) // La referencia a método también implementa Function<String, Integer>
.collect(Collectors.toList());
La interfaz Function<T, R> acepta un argumento de tipo T y devuelve un resultado de tipo R. En el contexto de map(), T es el tipo de los elementos del stream de entrada, y R es el tipo de los elementos del stream de salida.