Junior
С какъв функционален интерфейс работим в метода map()?
sobes.tech AI
Отговор от AI
В метода map() на Java стриймовете работим с функционалния интерфейс java.util.function.Function.
// Пример за използване на Function в метода map()
import java.util.List;
import java.util.stream.Collectors;
List<String> words = List.of("hello", "world");
// Function<String, Integer> преобразува String в Integer
List<Integer> lengths = words.stream()
.map(s -> s.length()) // Ламбда изразът реализира Function<String, Integer>
.collect(Collectors.toList());
// Друг начин с използване на референция към метод
List<Integer> lengthsMethodRef = words.stream()
.map(String::length) // Референцията към метод също реализира Function<String, Integer>
.collect(Collectors.toList());
Интерфейсът Function<T, R> приема един аргумент от тип T и връща резултат от тип R. В контекста на map(), T е типът на елементите на входния стрийм, а R е типът на елементите на изходния стрийм.