Esercizi su Stream API in Java
Ecco degli esercizi con soluzione per praticare l’uso delle Stream API in Java.
Esercizio 1: Filtro di una Lista
Utilizzare le Stream API per filtrare una lista di numeri e ottenere solo i numeri pari.
import java.util.Arrays;import java.util.List;import java.util.stream.Collectors;
public class FiltroLista { public static void main(String[] args) { List<Integer> numeri = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); List<Integer> numeriPari = numeri.stream() .filter(n -> n % 2 == 0) .collect(Collectors.toList());
System.out.println("Numeri pari: " + numeriPari); }}
Esercizio 2: Mappatura di una Lista
Utilizzare le Stream API per mappare una lista di stringhe alla loro lunghezza.
import java.util.Arrays;import java.util.List;import java.util.stream.Collectors;
public class MappaLista { public static void main(String[] args) { List<String> parole = Arrays.asList("ciao", "mondo", "stream", "api"); List<Integer> lunghezze = parole.stream() .map(String::length) .collect(Collectors.toList());
System.out.println("Lunghezze delle parole: " + lunghezze); }}
Esercizio 3: Riduzione di una Lista
Utilizzare le Stream API per calcolare la somma di una lista di numeri interi.
import java.util.Arrays;import java.util.List;
public class RiduzioneLista { public static void main(String[] args) { List<Integer> numeri = Arrays.asList(1, 2, 3, 4, 5); int somma = numeri.stream() .reduce(0, Integer::sum);
System.out.println("Somma dei numeri: " + somma); }}
Esercizio 4: Ordinamento di una Lista
Utilizzare le Stream API per ordinare una lista di stringhe in ordine alfabetico.
import java.util.Arrays;import java.util.List;import java.util.stream.Collectors;
public class OrdinamentoLista { public static void main(String[] args) { List<String> parole = Arrays.asList("banana", "mela", "arancia", "kiwi"); List<String> paroleOrdinate = parole.stream() .sorted() .collect(Collectors.toList());
System.out.println("Parole ordinate: " + paroleOrdinate); }}
Esercizio 5: Distinct su una Lista
Utilizzare le Stream API per ottenere una lista di numeri distinti.
import java.util.Arrays;import java.util.List;import java.util.stream.Collectors;
public class DistinctLista { public static void main(String[] args) { List<Integer> numeri = Arrays.asList(1, 2, 2, 3, 4, 4, 5); List<Integer> numeriDistinti = numeri.stream() .distinct() .collect(Collectors.toList());
System.out.println("Numeri distinti: " + numeriDistinti); }}
Esercizio 6: Conteggio di Elementi in una Lista
Utilizzare le Stream API per contare il numero di elementi in una lista di stringhe che iniziano con una lettera specifica.
import java.util.Arrays;import java.util.List;
public class ConteggioElementi { public static void main(String[] args) { List<String> parole = Arrays.asList("apple", "banana", "avocado", "cherry", "apricot"); long conteggio = parole.stream() .filter(parola -> parola.startsWith("a")) .count();
System.out.println("Numero di parole che iniziano con 'a': " + conteggio); }}