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