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.