📢 Nuovo Corso Laravel API disponibile!

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);
}
}