Hashset Java

Hashset Java

In Java, un hashset è un set. Mentre un set sarebbe un insieme di numeri interi, o di galleggianti o stringhe, ecc., L'hashset sarebbe un insieme di coppie. In Java corretto, una coppia è un'entry di mappa che può essere creata indipendentemente dalla struttura dei dati simile a una mappa di destinazione. Una mappa-entry o una coppia è un codice con una chiave e il suo valore corrispondente. La chiave viene effettivamente eseguita in un indice di array per il valore.

Di seguito sono riportati un esempio di coppie di tasti/valore in cui una chiave è un nome di frutta e il valore corrispondente è il colore esterno della frutta:

passione frutto => viola
Watermelon => Green
pesca => giallo scuro
papaya => arancione
mango => giallo

Questo articolo fornisce la conoscenza di base di Java Hashset, a partire dalla creazione di una coppia (voce della mappa).

Creazione di una mappa

Una sintassi per creare una mappa-entry (coppia) è:

Public SimpleEntry (K Key, V Value)

Questo è della mappa astratta.Classe di semplicità, del pacchetto, Java.util.*, che deve essere importato. K è il tipo di chiave, che in questo caso è una stringa. V è il tipo di valore, che in questo caso è ancora una stringa.

Il seguente segmento di codice crea cinque coppie:

AbstractMap.Semplice coppia1 = new AbstractMap.Semplice("Frutta passione", "viola");
AbstractMap.Semplice coppia2 = new AbstractMap.Semplice("Watermelon", "Green");
AbstractMap.Semplice coppia3 = new AbstractMap.Semplice("pesca", "giallo scuro");
AbstractMap.Semplice coppia4 = new AbstractMap.Semplice("Papaya", "Orange");
AbstractMap.Semplice coppia5 = new AbstractMap.Semplice("mango", "giallo");

Queste cinque coppie possono formare cinque elementi di un hashset.

Costruire un hashset

Ci sono quattro costruttori sovraccarichi per l'hashset, ma solo due sono illustrati in questo articolo.

public hashset ()

Questo crea un hashset vuoto. Un hashset vuoto per le coppie sopra può essere creata come segue:

Hashset> hs = nuovo hashset> ();
hashset pubblico (collezione C)

Questo richiede un altro hashset come argomento per creare un nuovo hashset. Un'affermazione del codice di esempio di un hashset creato da un altro hashset è:

Hashset> hsb = nuovo hashset> (HS);

dove hs è un hashset già creato.

La classe Hashset è anche nel Java.util.* pacchetto, che dovrebbe essere importato.

Metodi dell'hashset

I metodi comunemente usati della classe hashset sono spiegati in questa sezione.

Public Boolean Add (e e)

Questo aggiunge una nuova coppia (elemento) all'hashset. Restituisce vero se questo set non contiene già l'elemento specificato; falso altrimenti. Il seguente segmento di codice aggiunge i cinque elementi sopra (coppie) all'hashset, HS:

Hashset> hs = nuovo hashset> ();
hs.Aggiungi (coppia1); hs.Aggiungi (coppia2); hs.Aggiungi (coppia3); hs.Aggiungi (coppia4); hs.Aggiungi (coppia5);

public int size ()

Questo restituisce il numero di coppie (elementi) nel set. Esempio:

int sz = hs.misurare();
Sistema.fuori.println (sz);

Per questo codice, il valore di ritorno sarebbe 5.

iterator iteratore pubblico ()

Un iteratore è un oggetto che può essere utilizzato per accedere a tutti gli elementi di un set (o elenco), uno per uno. La seguente dichiarazione restituisce un iteratore da Hashset sopra:

Iteratore> iter = hs.iteratore ();

L'iteratore ha il metodo,

E Next ()

Questo metodo di iteratore restituisce l'elemento successivo a partire dal primo, nel set (o nell'elenco). Gli elementi restituiti non sono necessariamente nell'ordine in cui sono stati aggiunti. Per restituire l'elemento successivo dell'hashset sopra, è possibile utilizzare la seguente istruzione:

AbstractMap.Semplice coppia = iter.Prossimo();

A sinistra dell'operatore di assegnazione, c'è un nome di un programmatore deciso per una coppia (mappa-entry), coppia, preceduta dal tipo di coppia. A destra, è l'iteratore, ottenuto sopra, seguito dal metodo, Next (). Dopo aver restituito la coppia, i metodi dell'elenco possono quindi essere utilizzati per gestire la coppia.

La mappa astratta della classe.SimpleEntry, per la coppia, ha il metodo, toString (). Questo metodo restituisce sia la chiave che il valore in forma di stringa. Il seguente segmento di codice, stampa tutte le coppie chiave/valore dell'hashset sopra utilizzando l'iteratore:

per (int i = 0; iAbstractMap.Semplice coppia = iter.Prossimo();
Sistema.fuori.println (coppia.accordare());

L'output è:

Papaya = Orange
pesca = giallo scuro
mango = giallo
Atremelone = verde
Fruit di passione = viola

Il metodo separa la chiave dal valore con =.

Public Boolean Rimuove (Object O)

Questo rimuove un elemento (coppia) che il programmatore già sa, dovrebbe essere presente nell'hashset. Restituisce vero, se si è verificata un cambiamento; e falso altrimenti. Sia l'iterazione che le classi hashset hanno questo metodo (leggermente diverso). Il seguente segmento di codice accede a tutti gli elementi nell'hashset e rimuove "Watermelon = Green".

per (int i = 0; iAbstractMap.Semplice coppia = iter.Prossimo();
String Str = coppia.accordare();
Se (str.equals ("Watermelon = Green"))
iter.rimuovere();

Sistema.fuori.println (hs.misurare());

L'output è 4. È stato utilizzato il metodo Rimuovi () dell'iteratore e non quello dell'hashset. La coppia (elemento) si stava indicando l'iteratore è stata rimossa.

public void clear ()

Questo rimuove tutti gli elementi dall'hashset. Il seguente segmento di codice illustra questo:

hs.chiaro();
Sistema.fuori.println (hs.misurare());

L'output è 0.

pubblico booleano isEmpty ()

Restituisce vero, se l'hashset non contiene alcun elemento e falso altrimenti. Il seguente codice lo illustra per un set non vuoto:

booleano bl = hs.è vuoto();
Sistema.fuori.println (bl);

L'output è falso.

Booleano contiene (oggetto O)

Questo restituisce vero, se l'hashset contiene l'elemento indicato (coppia); e falso altrimenti. Il seguente segmento di codice lo illustra per un hashset che ha già elementi:

AbstractMap.Semplice pailc = new AbstractMap.Semplice("pesca", "giallo scuro");
booleano bl = hs.contiene (pailc);
Sistema.fuori.println (bl);

Per l'hashset di cui sopra, l'output è vero.

Conclusione

L'hashset in Java è un set. Tuttavia, differisce da un set normale, in quanto, i suoi elementi dovrebbero essere coppie. Una coppia è un codice elemento, che ha una chiave e il suo valore corrispondente. La chiave viene hash di un indice di array per il valore. La seguente dichiarazione creerebbe un hashset vuoto:

Hashset> hs = nuovo hashset> ();

HS è il nome dell'hashset.

In java corretto, una coppia è un'entry di mappa. La seguente affermazione creerebbe un'entry di mappa:

AbstractMap.Semplice coppia1 = new AbstractMap.Semplice("Frutta passione", "viola");

Il tipo di chiave qui è una stringa e il tipo di valore qui è anche una stringa.

La classe Java Hashset ha alcuni metodi utili che sono stati spiegati sopra.