Sobes.tech
Junior

S akým funkčným rozhraním pracujeme v metóde map()?

sobes.tech AI

Odpoveď od AI

V metóde map() streamov Java pracujeme s funkčným rozhraním java.util.function.Function.

// Príklad použitia Function v metóde map()
import java.util.List;
import java.util.stream.Collectors;

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

// Function<String, Integer> konvertuje String na Integer
List<Integer> lengths = words.stream()
                             .map(s -> s.length()) // Lambda výraz implementuje Function<String, Integer>
                             .collect(Collectors.toList());

// Iný spôsob s použitím referencie na metódu
List<Integer> lengthsMethodRef = words.stream()
                                      .map(String::length) // Referencia na metódu tiež implementuje Function<String, Integer>
                                      .collect(Collectors.toList());

Rozhranie Function<T, R> prijíma jeden argument typu T a vracia výsledok typu R. V kontexte map(), T je typ prvkov vstupného toku a R je typ prvkov výstupného toku.