🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Esercizi Iteratori Java

Codegrind Team•Jul 22 2023

Ecco degli esercizi semplici con soluzione per praticare le basi sull’utilizzo degli iteratori in Java.

Esercizio 1

Iterare su una ArrayList utilizzando un iteratore e stampare gli elementi:
import java.util.ArrayList;
import java.util.Iterator;

public class IteratoreArrayList {
    public static void main(String[] args) {
        ArrayList<String> colori = new ArrayList<>();
        colori.add("Rosso");
        colori.add("Verde");
        colori.add("Blu");

        Iterator<String> iterator = colori.iterator();

        while (iterator.hasNext()) {
            String colore = iterator.next();
            System.out.println(colore);
        }
    }
}

Esercizio 2

Rimuovere gli elementi pari da una LinkedList utilizzando un iteratore:
import java.util.LinkedList;
import java.util.Iterator;

public class RimuoviElementiPari {
    public static void main(String[] args) {
        LinkedList<Integer> numeri = new LinkedList<>();
        numeri.add(1);
        numeri.add(2);
        numeri.add(3);
        numeri.add(4);
        numeri.add(5);

        Iterator<Integer> iterator = numeri.iterator();

        while (iterator.hasNext()) {
            int numero = iterator.next();
            if (numero % 2 == 0) {
                iterator.remove();
            }
        }

        System.out.println(numeri);
    }
}

Esercizio 3

Iterare su una HashSet utilizzando un iteratore e calcolare la somma degli elementi:
import java.util.HashSet;
import java.util.Iterator;

public class SommaHashSet {
    public static void main(String[] args) {
        HashSet<Integer> numeri = new HashSet<>();
        numeri.add(1);
        numeri.add(2);
        numeri.add(3);
        numeri.add(4);
        numeri.add(5);

        Iterator<Integer> iterator = numeri.iterator();

        int somma = 0;

        while (iterator.hasNext()) {
            int numero = iterator.next();
            somma += numero;
        }

        System.out.println("La somma degli elementi è: " + somma);
    }
}

Esercizio 4

Rimuovere gli elementi duplicati da una LinkedList utilizzando un iteratore:
import java.util.LinkedList;
import java.util.Iterator;

public class RimuoviDuplicatiLinkedList {
    public static void main(String[] args) {
        LinkedList<String> parole = new LinkedList<>();
        parole.add("ciao");
        parole.add("ciao");
        parole.add("mondo");
        parole.add("mondo");
        parole.add("!");

        Iterator<String> iterator = parole.iterator();

        while (iterator.hasNext()) {
            String parola = iterator.next();
            if (parole.indexOf(parola) != parole.lastIndexOf(parola)) {
                iterator.remove();
            }
        }

        System.out.println(parole);
    }
}

Esercizio 5

Iterare su una TreeMap utilizzando un iteratore e stampare le chiavi:
import java.util.TreeMap;
import java.util.Iterator;
import java.util.Map;

public class IteratoreTreeMap {
    public static void main(String[] args) {
        TreeMap<Integer, String> studenti = new TreeMap<>();
        studenti.put(1, "Alice");
        studenti.put(2, "Bob");
        studenti.put(3, "Charlie");

        Iterator<Integer> iterator = studenti.keySet().iterator();

        while (iterator.hasNext()) {
            int chiave = iterator.next();
            System.out.println(chiave);
        }
    }
}

Esercizio 6

Rimuovere gli elementi null da un HashSet utilizzando un iteratore:
import java.util.HashSet;
import java.util.Iterator;

public class RimuoviNullHashSet {
    public static void main(String[] args) {
        HashSet<String> set = new HashSet<>();
        set.add("Alice");
        set.add(null);
        set.add("Bob");
        set.add(null);
        set.add("Charlie");

        Iterator<String> iterator = set.iterator();

        while (iterator.hasNext()) {
            String elemento = iterator.next();
            if (elemento == null) {
                iterator.remove();
            }
        }

        System.out.println(set);
    }
}

Esercizio 7

Iterare su una PriorityQueue utilizzando un iteratore e stampare gli elementi:
import java.util.PriorityQueue;
import java.util.Iterator;

public class IteratorePriorityQueue {
    public static void main(String[] args) {
        PriorityQueue<String> coda = new PriorityQueue<>();
        coda.offer("Rosso");
        coda.offer("Verde");
        coda.offer("Blu");

        Iterator<String> iterator = coda.iterator();

        while (iterator.hasNext()) {
            String elemento = iterator.next();
            System.out.println(elemento);
        }
    }
}

Esercizio 8

Rimuovere gli elementi dispari da un ArrayList utilizzando un iteratore:
import java.util.ArrayList;
import java.util.Iterator;

public class RimuoviElementiDispari {
    public static void main(String[] args) {
        ArrayList<Integer> numeri = new ArrayList<>();
        numeri.add(1);
        numeri.add(2);
        numeri.add(3);
        numeri.add(4);
        numeri.add(5);

        Iterator<Integer> iterator = numeri.iterator();

        while (iterator.hasNext()) {
            int numero = iterator.next();
            if (numero % 2 != 0) {
                iterator.remove();
            }
        }

        System.out.println(numeri);
    }
}

Esercizio 9

Iterare su una LinkedHashMap utilizzando un iteratore e stampare le chiavi e i valori:
import java.util.LinkedHashMap;
import java.util.Iterator;
import java.util.Map;

public class IteratoreLinkedHashMap {
    public static void main(String[] args) {
        LinkedHashMap<String, Integer> studenti = new LinkedHashMap<>();
        studenti.put("Alice", 20);
        studenti.put("Bob", 18);
        studenti.put("Charlie", 22);

        Iterator<Map.Entry<String, Integer>> iterator = studenti.entrySet().iterator();

        while (iterator.hasNext()) {
            Map.Entry<String, Integer> entry = iterator.next();
            String nome = entry.getKey();
            int eta = entry.getValue();
            System.out.println("Nome: " + nome + ", EtĂ : " + eta);
        }
    }
}

Esercizio 10

Rimuovere gli elementi negativi da un HashSet utilizzando un iteratore:
import java.util.HashSet;
import java.util.Iterator;

public class RimuoviElementiNegativi {
    public static void main(String[] args) {
        HashSet<Integer> numeri = new HashSet<>();
        numeri.add(1);
        numeri.add(-2);
        numeri.add(3);
        numeri.add(-4);
        numeri.add(5);

        Iterator<Integer> iterator = numeri.iterator();

        while (iterator.hasNext()) {
            int numero = iterator.next();
            if (numero < 0) {
                iterator.remove();
            }
        }

        System.out.println(numeri);
    }
}