В методе map() в Java мы работаем с функциональным интерфейсом Function. Функциональные интерфейсы в Java представляют собой интерфейсы, содержащие только один абстрактный метод. Интерфейс Function определен в пакете java.util.function и имеет следующую сигнатуру:
public interface Function<T, R> {
R apply(T t);
}
В методе map(), который определен в интерфейсе Stream, мы передаем объект типа Function в качестве аргумента. Этот объект определяет, как преобразовать каждый элемент потока в новое значение. Метод map() применяет эту функцию к каждому элементу потока и возвращает новый поток, содержащий результаты преобразования.
Например, предположим, у нас есть поток целых чисел, и мы хотим умножить каждое число на 2. Мы можем использовать метод map() следующим образом:
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> doubledNumbers = numbers.stream()
.map(n -> n * 2)
.collect(Collectors.toList());
В этом примере мы создаем поток из списка чисел, затем с помощью метода map() умножаем каждое число на 2. Результат преобразования сохраняется в новом потоке, который мы затем собираем обратно в список с помощью метода collect().
Таким образом, метод map() позволяет нам преобразовывать элементы потока с помощью функционального интерфейса Function.
Если вам понравилось, буду признателен за подписку.