Sobes.tech
Junior

Millise funktsionaalse liidese abil me töötame map() meetodis?

sobes.tech AI

Vastus AI-lt

Java voogude map() meetodis töötame java.util.function.Function funktsionaalse liidesega.

// Näide Function kasutamisest `map()` meetodis
import java.util.List;
import java.util.stream.Collectors;

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

// Function<String, Integer> teisendab Stringi Integeriks
List<Integer> lengths = words.stream()
                             .map(s -> s.length()) // Lambda avaldis täidab Function<String, Integer>
                             .collect(Collectors.toList());

// Teine viis, kasutades meetodi viidet
List<Integer> lengthsMethodRef = words.stream()
                                      .map(String::length) // Meetodi viide täidab samuti Function<String, Integer>
                                      .collect(Collectors.toList());

Function<T, R> liides võtab ühe argumenti T tüüpi ja tagastab tulemuse R tüüpi. map() kontekstis on T sisendvoo elementide tüüp ja R väljundvoo elementide tüüp.