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 HashSetoggetto chiamato cars che memorizzerà le stringhe:

import java.util.HashSet; // Import the HashSet class

HashSet<String> cars = new HashSet<String>();

Aggiungi elementi

La HashSetclasse 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 sizemetodo:

Esempio

cars.size();


Passa attraverso un hashset

Scorri gli elementi di un HashSetcon 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: Booleanfor boolean, Characterfor char, Doublefor double, ecc:

Esempio

Usa un HashSetche memorizza Integeroggetti:

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