Назад к вопросам
Junior
71
questionbank

С каким функциональным интерфейсом мы работаем в методе map()?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech 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());

// Другой способ с использованием method reference
List<Integer> lengthsMethodRef = words.stream()
                                      .map(String::length) // Method reference также реализует Function<String, Integer>
                                      .collect(Collectors.toList());

Интерфейс Function<T, R> принимает один аргумент типа T и возвращает результат типа R. В контексте map(), T — это тип элементов входного стрима, а R — тип элементов выходного стрима.