Sobes.tech
Junior

S jakým funkčním rozhraním pracujeme v metodě map()?

sobes.tech AI

Odpověď od AI

V metodě map() streamů Java pracujeme s funkčním rozhraním java.util.function.Function.

// Příklad použití Function v metodě map()
import java.util.List;
import java.util.stream.Collectors;

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

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

// Jiný způsob s použitím referenční metody
List<Integer> lengthsMethodRef = words.stream()
                                      .map(String::length) // Referenční metoda také implementuje Function<String, Integer>
                                      .collect(Collectors.toList());

Rozhraní Function<T, R> přijímá jeden argument typu T a vrací výsledek typu R. V kontextu map(), T je typ prvků vstupního proudu a R je typ prvků výstupního proudu.