Sobes.tech
Junior

Mit welcher funktionalen Schnittstelle arbeiten wir in der Methode map()?

sobes.tech KI

Antwort von AI

Im map()-Verfahren der Java-Streams arbeiten wir mit der funktionalen Schnittstelle java.util.function.Function.

// Beispiel für die Verwendung von Function in der map()-Methode
import java.util.List;
import java.util.stream.Collectors;

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

// Function<String, Integer> wandelt einen String in einen Integer um
List<Integer> lengths = words.stream()
                             .map(s -> s.length()) // Lambda-Ausdruck implementiert Function<String, Integer>
                             .collect(Collectors.toList());

// Anderer Weg mit Method-Reference
List<Integer> lengthsMethodRef = words.stream()
                                      .map(String::length) // Method-Reference implementiert ebenfalls Function<String, Integer>
                                      .collect(Collectors.toList());

Das Interface Function<T, R> nimmt ein Argument vom Typ T und gibt ein Ergebnis vom Typ R zurück. Im Kontext von map() ist T der Typ der Elemente des Eingabestroms, und R ist der Typ der Elemente des Ausgabestroms.