Junior
Con quale interfaccia funzionale lavoriamo nel metodo map()?
sobes.tech AI
Risposta dell'AI
Nel metodo map() degli stream di Java, lavoriamo con l'interfaccia funzionale java.util.function.Function.
// Esempio di utilizzo di Function nel metodo map()
import java.util.List;
import java.util.stream.Collectors;
List<String> words = List.of("hello", "world");
// Function<String, Integer> converte una String in un Integer
List<Integer> lengths = words.stream()
.map(s -> s.length()) // L'espressione lambda implementa Function<String, Integer>
.collect(Collectors.toList());
// Altro metodo con riferimento a metodo
List<Integer> lengthsMethodRef = words.stream()
.map(String::length) // Il riferimento a metodo implementa anche Function<String, Integer>
.collect(Collectors.toList());
L'interfaccia Function<T, R> accetta un argomento di tipo T e restituisce un risultato di tipo R. Nel contesto di map(), T è il tipo degli elementi dello stream di input, e R è il tipo degli elementi dello stream di output.