Sobes.tech
Junior

Ի՞նչ ֆունկցիոնալ ինտերֆեյսի հետ ենք աշխատում map() մեթոդում:

sobes.tech AI

Պատասխան AI-ից

Java հոսքերի map() մեթոդում մենք աշխատում ենք 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՝ ելքային հոսքի տարրերի տիպը։