Sobes.tech
Junior

Com que interface funcional trabalhamos no método map()?

sobes.tech IA

Resposta da IA

No método map() dos streams do Java, trabalhamos com a interface funcional java.util.function.Function.

// Exemplo de uso de Function no método map()
import java.util.List;
import java.util.stream.Collectors;

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

// Function<String, Integer> converte uma String em um Integer
List<Integer> lengths = words.stream()
                             .map(s -> s.length()) // A expressão lambda implementa Function<String, Integer>
                             .collect(Collectors.toList());

// Outro método usando referência de método
List<Integer> lengthsMethodRef = words.stream()
                                      .map(String::length) // A referência de método também implementa Function<String, Integer>
                                      .collect(Collectors.toList());

A interface Function<T, R> aceita um argumento do tipo T e retorna um resultado do tipo R. No contexto de map(), T é o tipo dos elementos do stream de entrada, e R é o tipo dos elementos do stream de saída.