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՝ ելքային հոսքի տարրերի տիպը։