Sobes.tech
Junior

Su kokiu funkciniu interfeisu dirbame map() metode?

sobes.tech AI

Atsakymas iš AI

Java srautų map() metodo metu dirbame su funkciniu interfeisu java.util.function.Function.

// Pavyzdys, kaip naudoti Function `map()` metode
import java.util.List;
import java.util.stream.Collectors;

List<String> words = List.of("hello", "world");

// Function<String, Integer> paverčia String į Integer
List<Integer> lengths = words.stream()
                             .map(s -> s.length()) // Lambda išraiška įgyvendina Function<String, Integer>
                             .collect(Collectors.toList());

// Kitas būdas naudojant metodų nuorodą
List<Integer> lengthsMethodRef = words.stream()
                                      .map(String::length) // Metodų nuoroda taip pat įgyvendina Function<String, Integer>
                                      .collect(Collectors.toList());

Function<T, R> interfeisas priima vieną argumentą T tipo ir grąžina rezultatą R tipo. map() kontekste, T yra įvesties srauto elementų tipas, o R – išvesties srauto elementų tipas.