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.