Sobes.tech
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()) // Ифодаи lambda иҷрои 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 навъи унсурҳои стрими баромадӣ мебошад.