Java HashSet
Java HashSet
Un HashSet è una raccolta di elementi in cui ogni elemento è unico e si trova nel java.util
pacchetto:
Esempio
Crea un HashSet
oggetto chiamato cars che memorizzerà le stringhe:
import java.util.HashSet; // Import the HashSet class
HashSet<String> cars = new HashSet<String>();
Aggiungi elementi
La HashSet
classe ha molti metodi utili. Ad esempio, per aggiungere elementi ad esso, utilizzare il add()
metodo:
Esempio
// Import the HashSet class
import java.util.HashSet;
public class Main {
public static void main(String[] args) {
HashSet<String> cars = new HashSet<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("BMW");
cars.add("Mazda");
System.out.println(cars);
}
}
Nota: nell'esempio sopra, anche se la BMW viene aggiunta due volte, appare solo una volta nel set perché ogni articolo in un set deve essere unico.
Controlla se un articolo esiste
Per verificare se un elemento esiste in un HashSet, utilizzare il contains()
metodo:
Esempio
cars.contains("Mazda");
Rimuovi un elemento
Per rimuovere un elemento, utilizzare il remove()
metodo:
Esempio
cars.remove("Volvo");
Per rimuovere tutti gli elementi, utilizzare il clear()
metodo:
Esempio
cars.clear();
Dimensione hashset
Per scoprire quanti articoli ci sono, usa il size
metodo:
Esempio
cars.size();
Passa attraverso un hashset
Scorri gli elementi di un HashSet
con un ciclo for-ogni :
Esempio
for (String i : cars) {
System.out.println(i);
}
Altri tipi
Gli elementi in un HashSet sono in realtà oggetti. Negli esempi precedenti, abbiamo creato elementi (oggetti) di tipo "Stringa". Ricorda che una stringa in Java è un oggetto (non un tipo primitivo). Per utilizzare altri tipi, come int, devi specificare una classe wrapper equivalente : Integer
. Per altri tipi primitivi, usa: Boolean
for boolean, Character
for char, Double
for double, ecc:
Esempio
Usa un HashSet
che memorizza Integer
oggetti:
import java.util.HashSet;
public class Main {
public static void main(String[] args) {
// Create a HashSet object called numbers
HashSet<Integer> numbers = new HashSet<Integer>();
// Add values to the set
numbers.add(4);
numbers.add(7);
numbers.add(8);
// Show which numbers between 1 and 10 are in the set
for(int i = 1; i <= 10; i++) {
if(numbers.contains(i)) {
System.out.println(i + " was found in the set.");
} else {
System.out.println(i + " was not found in the set.");
}
}
}
}