Sobes.tech
Junior

Cu ce interfață funcțională lucrăm în metoda map()?

sobes.tech AI

Răspuns de la AI

În metoda map() a stream-urilor Java, lucrăm cu interfața funcțională java.util.function.Function.

// Exemplu de utilizare a Function în metoda map()
import java.util.List;
import java.util.stream.Collectors;

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

// Function<String, Integer> convertește un String în Integer
List<Integer> lengths = words.stream()
                             .map(s -> s.length()) // Expresia lambda implementează Function<String, Integer>
                             .collect(Collectors.toList());

// Alt mod folosind referința la metodă
List<Integer> lengthsMethodRef = words.stream()
                                      .map(String::length) // Referința la metodă implementează de asemenea Function<String, Integer>
                                      .collect(Collectors.toList());

Interfața Function<T, R> acceptă un argument de tip T și returnează un rezultat de tip R. În contextul map(), T este tipul elementelor fluxului de intrare, iar R este tipul elementelor fluxului de ieșire.