Hashset Javascript

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

In Java esistono diversi tipi di dati utilizzati per memorizzare i valori. Ogni tipo di dati archivia i valori in modo diverso e offre una gamma di metodi che possono essere utilizzati per manipolare i valori archiviati. Ad esempio, i numeri possono essere manipolati utilizzando funzioni matematiche in Java.

HashSet è un tipo di dati in Java utilizzato per creare un set matematico. HashSet fa parte del framework Java Collections e consente di archiviare i dati utilizzando il tipo di dati della tabella hash.

Questo tutorial discuterà le basi della classe Java HashSet e come può essere utilizzata. Verranno inoltre illustrati i principali metodi offerti da HashSet per recuperare e manipolare i dati memorizzati all’interno di un set.

Java Set e HashSet

I set sono raccolte Java che non possono contenere elementi duplicati. Mentre un elenco può contenere lo stesso valore più volte, gli insiemi possono contenere un valore specifico solo una volta.

Gli insiemi possono essere utili in un’ampia gamma di situazioni. Ad esempio, se stai creando un programma per una caffetteria locale che memorizza i numeri di telefono dei loro clienti fedeli, vorrai che lo stesso numero di telefono appaia solo una volta nell’elenco.

In Java, il tipo Set è un’interfaccia, quindi per utilizzarlo dobbiamo utilizzare una delle classi associate al tipo di dati. La classe HashSet implementa il tipo di dati Set e viene utilizzata per creare un set che utilizza la struttura dei dati della tabella hash.

Prima di poter iniziare a lavorare con gli HashSet, dobbiamo importare il pacchetto HashSet nel nostro codice. Ecco il codice che possiamo usare per importare HashSet nel nostro codice:

import java.util.HashSet;

Ora abbiamo importato HashSet , possiamo iniziare a lavorare con il tipo di dati.

Java Crea un HashSet

Ecco la sintassi che puoi usare per creare un HashSet Java:

HashSet nome_variabile = nuovo HashSet<>(capacity, loadFactor);

I componenti principali di un HashSet sono i seguenti:

  • HashSet dice al nostro programma che vogliamo dichiarare un HashSet.
  • DataType è il tipo di dati che sono tenuti dai valori memorizzati nell’hash set.
  • nome_variabile è il nome del nostro set di hash.
  • nuovo HashSet<> inizializza un HashSet e lo assegna a nome_variabile.
  • capacità indica quanti valori può memorizzare il set di hash. Per impostazione predefinita, è impostato su 8. (opzionale)
  • loadFactor specifica che quando un set di hash viene riempito di una certa quantità, gli elementi all’interno della tabella vengono spostati in un nuovo tabella il doppio della dimensione della tabella originale. Per impostazione predefinita, questo è impostato su 0,75 (o 75% della capacità). (opzionale)

Supponiamo di voler creare un HashSet che memorizzi l’elenco dei frutti venduti presso il nostro banco frutta, potremmo farlo utilizzando il seguente codice:

Nel nostro codice, abbiamo creato un HashSet chiamato fruits che memorizzerà i valori delle stringhe.Ora abbiamo un HashSet pronto, possiamo iniziare a lavorarci usando i metodi HashSet.

Aggiungi un elemento

Il metodo add() aggiunge un elemento specificato a un HashSet in Java. Supponiamo di voler aggiungere i valori Pera, Pompelmo e Mango alla nostra lista di frutti. Potremmo farlo usando questo codice:

Quando eseguiamo il nostro codice, viene restituita la seguente risposta:

["Pera", "Gra pefruit", "Mango"]

Scomponiamo il nostro codice. Innanzitutto, importiamo la classe HashSet da java.util, quindi inizializziamo una classe chiamata AddFruits, che memorizza il codice per il nostro programma. Nella riga successiva, dichiariamo un HashSet chiamato fruits che memorizzerà i valori delle stringhe.

Quindi usiamo il metodo add() per aggiungere tre valori al nostro frutti hash set: Pera, Pompelmo e Mango. Infine, stampiamo il contenuto dell’hash fruits impostato sulla console.

Rimuovi un elemento

Il metodo remove() può essere utilizzato per rimuovere un articolo da un HashSet.

Supponiamo che il nostro banco di frutta abbia deciso di interrompere la vendita di mango a causa della mancanza di domanda. Di conseguenza, vogliamo rimuovere la voce Mango dall’HashSet che abbiamo creato in precedenza. Potremmo farlo usando questo codice:

Il nostro codice restituisce:

["Pera", "Pompelmo"]

Il nostro codice ha rimosso Mango dal nostro HashSet originale e restituisce l’HashSet modificato con i due valori rimanenti.

Inoltre, il metodo removeAll() viene utilizzato per rimuovere tutti gli elementi da un insieme. Quindi, se decidessimo di iniziare da zero e creare un nuovo elenco di frutti, potremmo usare removeAll() per eliminare tutti gli elementi nel nostro set. Ecco il codice che potremmo usare per rimuovere tutti gli elementi nel nostro "frutti" HashSet:

Il nostro codice restituisce un set di hash vuoto: [].

Access Elements

A differenza degli array Java, i set non sono indicizzati. Quindi, se vogliamo accedere ai valori nel nostro set, dobbiamo usare il metodo iterator() e scorrere ogni valore. iterator() fa parte di "java.util.Iterator" pacchetto, quindi dovremo importare il pacchetto Iterator prima di poter utilizzare il metodo iterator().

Ecco un programma che potremmo usare per scorrere ogni frutto nel nostro array fruits di prima e stamparlo sulla console:

Il nostro codice restituisce:
< /p>

Pera

Pompelmo

Mango

Nel nostro codice, prima importiamo le librerie HashSet e Iterator da java.util, quindi dichiariamo una classe chiamata RetrieveFruits in cui si trova il codice del nostro programma. Successivamente, inizializziamo un HashSet chiamato fruits e gli assegniamo tre valori: Pear, Grapefruit e Mango.

Nella riga successiva, inizializziamo un iteratore, che consente noi per scorrere ogni elemento nel nostro HashSet. Quindi creiamo un ciclo while che esamina ogni elemento nell’hashset fruits e lo stampa sulla console.

Imposta operazioni

Il La classe HashSet è un Set e quindi la classe può accedere alle varie operazioni sui set offerte dal tipo di dati Set. Esistono quattro operazioni principali sugli insiemi che possono essere utilizzate con la classe HashSet: unione, intersezione, sottoinsieme e differenza. Vediamo come ciascuno di questi metodi funziona individualmente.

Unione HashSet

Il metodo addAll() può essere utilizzato per eseguire un’unione tra due insiemi. In altre parole, addAll() ti permette di unire insieme i contenuti di due set.

Supponiamo di aver immagazzinato i nostri frutti in due hash set. Il primo set di hash, fruits, memorizza un elenco di frutti generici che vendiamo presso il nostro stand. Il secondo set di hash, bacche, memorizza le bacche che vendiamo. Abbiamo deciso di unire questi due insiemi.

Possiamo unire i nostri due insiemi utilizzando il seguente codice:

Il metodo addAll() restituisce:

[Pera, Pompelmo, Mango, Fragola, Lampone, Mirtillo]

Come puoi vedere, il nostro codice ha unito i nostri set di hash fruits e berries nell’hash fruits set. Quindi, il nostro codice stampa il set di hash modificato sulla console.

Intersezione di HashSet

L’intersezione viene utilizzata per trovare valori comuni in due insiemi di dati.Possiamo utilizzare retentionAll() per eseguire un’intersezione su due insiemi di dati.

Supponiamo di avere le nostre liste di bacche e frutti e di voler essere sicuri che non ci siano valori comuni. Potremmo usare il codice dal nostro esempio di Unione con una modifica per eseguire questa operazione:

Il nostro codice restituisce: [].

Invece di usare addAll(), usiamo retentionAll() per eseguire un’intersezione. Come puoi vedere, perché non ci sono valori comuni tra i nostri frutti e bacche liste, viene restituito un set di hash vuoto. Questo ci dice che t ha non ci sono valori duplicati nelle nostre liste, che è esattamente quello che volevamo.

Sottoinsieme HashSet

Il metodo contieneAll() viene utilizzato per verificare se un insieme è un sottoinsieme di un altro insieme. In altre parole, contieneAll() controlla se un insieme contiene solo valori di un altro insieme.

Supponiamo di voler controllare se la nostra lista bacche era un sottoinsieme della nostra frutta lista. Potremmo farlo usando questo codice:

Il nostro codice restituisce: false. I valori in berries che abbiamo definito nel nostro esempio Union non sono gli stessi di quelli in fruits. Quindi, il nostro codice restituisce false.

Differenza HashSet

Il metodo removeAll() viene utilizzato per calcolare la differenza tra due insiemi. Supponiamo di avere un elenco di frutti e un elenco di frutti estivi e bacche invernali e di voler conoscere la differenza tra i due. Potremmo usare questo codice per calcolare la differenza:

Il nostro codice restituisce:

[Pear]

Abbiamo eseguito un ricerca delle differenze nell’elenco summer_fruits e ha verificato quali valori esistevano solo nell’elenco summer_fruits. In questo caso, Pera è l’unico frutto che esiste solo nell’elenco summer_fruits, quindi il nostro elenco ha restituito un valore: Pera.

Conclusione

La classe HashSet implementa l’interfaccia Set con tabelle hash in Java. HashSet è comunemente usato se si desidera accedere agli elementi in modo casuale o memorizzare un elenco di elementi che non possono contenere valori duplicati.

Questo tutorial ha discusso le basi degli HashSet Java e, con riferimento agli esempi, ha esplorato come per dichiarare e manipolare un Java HashSet. Ora sei pronto per iniziare a utilizzare la classe Java HashSet come un professionista!