Hashtable in Java

Hashtable in Java
Una tabella hash è per le coppie chiave/valore. Internamente, i valori sono archiviati in un array. Ogni chiave viene convertita in un indice dell'array. Questa conversione è conosciuta come hashing. È fatto da una funzione hash internamente. In altre parole, le chiavi non devono essere archiviate. Tutto ciò è il tavolo da hash, in Java e in altri linguaggi per computer. Questo articolo spiega due costruttori di Java Hastable e i suoi metodi comunemente usati.

Le seguenti cinque righe mostrano parole e loro significati:

Lull: per rendere qualcuno rilassato e calmo
Luce: l'energia dal sole
oscurità: assenza di luce
Papà: una parola meno formale per padre
Cook: una persona il cui lavoro è cucinare

Ogni parola può essere considerata una chiave e ogni significato può essere considerato un valore. Questo elenco di coppie chiave/valore verrà utilizzato in questo articolo. La classe hashtable è nel java.util.* pacchetto, che deve essere importato.

Contenuto dell'articolo

  • Costruzione
  • Accesso alle coppie chiave/valore
  • Elenco di ritorno da Hashtable
  • Convertire l'insieme di coppie chiave/valore in stringa
  • Conclusione

Costruzione
public hashtable ()

Questo metodo costruisce una tabella hash vuota. Il seguente programma crea un hashtable vuoto, chiamato DIC (per Dizionario), quindi dargli cinque coppie di tasti/valore.

Importa Java.util.*;
Classe pubblica TheClass
public static void main (string [] args)
Hashtable DIC = Nuovo hashtable();
DIC.put ("Lull", "per rendere qualcuno rilassato e calmo"); DIC.put ("luce", "l'energia dal sole");
DIC.put ("oscurità", "assenza di luce"); DIC.put ("papà", "una parola meno formale per padre");
DIC.put ("Cook", una persona il cui lavoro è cucinare ");

Si noti che il tipo chiave deve essere indicato sui lati sinistro e destro dell'istruzione del costruttore. Il tipo di valore deve anche essere indicato su entrambi i lati. La classe hashtable Java ha il metodo put () per mettere una coppia chiave/valore nel tavolo hash.

hashtable pubblico (mappa t)

Questo metodo del costruttore creerebbe un hashtable da un altro hashtable. Il nome dell'hashtable del codice sopra è DIC. Un altro hashtable può essere creato da DIC come segue:

Hashtable DIC2 = Nuovo hashtable(DIC);

La nuova hashtable è Dic2. Al momento, ha tutti gli elementi (coppie chiave/valore) dell'hashtable DIC.

Accesso alle coppie chiave/valore
public v put (K Key, V Value)

Questo metodo mette una coppia chiave/valore nell'hashtable. Restituisce il valore precedente della chiave specificata di questo hashtable o null se la chiave non aveva un valore. Il seguente codice illustra questo:

Hashtable hshtbl = nuovo hashtable();
String oldValue1 = hshtbl.put ("blu", "avere il colore del mare in una giornata limpida");
Sistema.fuori.println (oldValue1);
String oldValue2 = hshtbl.put ("blu", "colore di un cielo chiaro in una giornata limpida");
Sistema.fuori.println (oldValue2);

L'output è:

nullo
Avere il colore del mare in una giornata limpida

public void putall (mappa t)

Questo metodo mette un altro hashtable nell'hashtable di interesse. Restituisce vuoto. Immagina che Hashtable di cui sopra, DIC sia già nel programma. Immagina che un altro hashtable, DIC3, con i seguenti contenuti sia già nel programma:

"blu" = "colore di un cielo chiaro in una giornata limpida",
"vector" = "un corso seguito da un aereo"

Tutto il contenuto di DIC3 può essere incluso in DIC, con la seguente affermazione:

DIC.putall (DIC3);

public int size ()

Questo metodo restituisce il numero di chiavi per l'hashtable. Il seguente codice illustra questo:

Hashtable DIC = Nuovo hashtable();
DIC.put ("Lull", "per rendere qualcuno rilassato e calmo"); DIC.put ("luce", "l'energia dal sole");
DIC.put ("oscurità", "assenza di luce"); DIC.put ("papà", "una parola meno formale per padre");
DIC.put ("Cook", una persona il cui lavoro è cucinare ");
int sz = DIC.misurare();
Sistema.fuori.println (sz);

L'output è 5.

public v get (tasto oggetto)

Questo metodo restituisce il valore a cui è stata eseguita la chiave specificata, o null se la chiave non è stata eseguita a nessun valore (indice array). Il seguente codice illustra questo:

Hashtable DIC = Nuovo hashtable();
DIC.put ("Lull", "per rendere qualcuno rilassato e calmo"); DIC.put ("luce", "l'energia dal sole");
DIC.put ("oscurità", "assenza di luce"); DIC.put ("papà", "una parola meno formale per padre");
DIC.put ("Cook", una persona il cui lavoro è cucinare ");
Sistema.fuori.println (DIC.get ("Lull"));
Sistema.fuori.println (DIC.get ("luce"));
Sistema.fuori.println (DIC.get ("vector"));

L'output è:

per rendere qualcuno rilassato e calmo
l'energia dal sole
nullo

public v rimozione (chiave dell'oggetto)

Questo metodo rimuove la chiave e il suo valore corrispondente, dall'hashtable. Restituisce il valore per la chiave o null se la chiave non era presente il seguente codice lo illustra:

Hashtable DIC = Nuovo hashtable();
DIC.put ("Lull", "per rendere qualcuno rilassato e calmo"); DIC.put ("luce", "l'energia dal sole");
DIC.put ("oscurità", "assenza di luce"); DIC.put ("papà", "una parola meno formale per padre");
DIC.put ("Cook", una persona il cui lavoro è cucinare ");
String ret1 = DIC.rimuovere ("oscurità");
String ret2 = DIC.rimuovere ("oscurità");
Sistema.fuori.println (ret1);
Sistema.fuori.println (ret2);

L'output è:

assenza di luce
nullo

pubblico booleano isEmpty ()

Restituisce vero se l'hashtable non ha tasto hash a un valore (indice di array); e falso altrimenti. Il seguente codice mostra come utilizzare questo metodo:

Hashtable DIC4 = Nuovo hashtable();
booleano bl = dic4.è vuoto();
Sistema.fuori.println (bl);

L'output è vero.

public void clear ()

Questo metodo cancella tutte le coppie chiave/valore nell'hashtable. La dimensione dell'hashtable diventa zero. Il seguente codice mostra il suo uso:

Hashtable DIC5 = Nuovo hashtable();
DIC5.put ("blu", "colore di un cielo chiaro in una giornata limpida");
DIC5.put ("vettoriale", un corso seguito da un aereo ");
DIC5.chiaro();
Sistema.fuori.println (DIC5.misurare());

L'output è 0.

Elenco di ritorno da Hashtable
elementi di enumerazione pubblica ()

Questo metodo restituisce un'enumerazione dei valori dell'hashtable. La classe di enumerazione ha i suoi metodi. Il seguente codice mostra come ottenere un'enumerazione dei valori dell'hashtable e come utilizzare i metodi di enumerazione per leggere i valori:

Hashtable DIC = Nuovo hashtable();
DIC.put ("Lull", "per rendere qualcuno rilassato e calmo"); DIC.put ("luce", "l'energia dal sole");
DIC.put ("oscurità", "assenza di luce"); DIC.put ("papà", "una parola meno formale per padre");
DIC.put ("Cook", una persona il cui lavoro è cucinare ");
Enumerazione E = DIC.elementi();
mentre (e.hasmoreelements () == true)
Stringa str = e.NextElement ();
Sistema.fuori.println (str);

L'output è:

una persona il cui lavoro sta cucinando
Una parola meno formale per padre
l'energia dal sole
assenza di luce
per rendere qualcuno rilassato e calmo

Si noti che l'ordine di output non è l'ordine di input. Ecco come funziona Hashtable in Java.

Keys di enumerazione pubblica ()

Questo metodo restituisce un'enumerazione delle chiavi dell'hashtable. La classe di enumerazione ha i suoi metodi. Il seguente codice come ottenere un'enumerazione delle chiavi dell'hashtable e come utilizzare i metodi di enumerazione per leggere le chiavi:

Hashtable DIC = Nuovo hashtable();
DIC.put ("Lull", "per rendere qualcuno rilassato e calmo"); DIC.put ("luce", "l'energia dal sole");
DIC.put ("oscurità", "assenza di luce"); DIC.put ("papà", "una parola meno formale per padre");
DIC.put ("Cook", una persona il cui lavoro è cucinare ");
Enumerazione E = DIC.tasti ();
mentre (e.hasmoreelements () == true)
Stringa str = e.NextElement ();
Sistema.fuori.println (str);

L'output è:

cucinare
Papà
leggero
buio
pausa

Si noti che l'ordine di output non è l'ordine di input. Ecco come funziona Hashtable in Java. La chiave è effettivamente hash a un indice (numero) di un array, il cui contenuto cellulare è il valore.

Set pubblico EntrySet ()

Questo metodo restituisce una raccolta set-view di coppie chiave/valore, dell'hashtable. Il seguente codice mostra come gestire il set di restituzione, delle coppie di tasti/valori e come stampare tutte le coppie di tasti/valore:

Hashtable DIC = Nuovo hashtable();
DIC.put ("Lull", "per rendere qualcuno rilassato e calmo"); DIC.put ("luce", "l'energia dal sole");
DIC.put ("oscurità", "assenza di luce"); DIC.put ("papà", "una parola meno formale per padre");
DIC.put ("Cook", una persona il cui lavoro è cucinare ");
Impostato> c = DIC.entryset ();
Iteratore> iter = c.iteratore ();
mentre (iter.hasNext () == true)
Carta geografica.Iscrizione kv = iter.Prossimo();
Sistema.fuori.println (kv.getKey () + ":" + kv.getValue ());

L'output è:

Cook: una persona il cui lavoro è cucinare
Papà: una parola meno formale per padre
Luce: l'energia dal sole
oscurità: assenza di luce
Lull: per rendere qualcuno rilassato e calmo

Sebbene i valori corrispondenti per le chiavi siano stati mantenuti, l'ordine di output non è l'ordine di input. Ecco come funziona Hashtable in Java.

Convertire l'insieme di coppie chiave/valore in stringa
Public String toString ()

Questo metodo converte tutte le coppie chiave/valore dell'hashtable, in una lunga stringa. Non importa se i tipi di chiavi o valori non erano stringhe. Questo è illustrato dal seguente codice:

Hashtable ht = nuovo hashtable();
ht.put ("dieci", 10);
ht.put ("venti", 20);
ht.put ("trenta", 30);
Stringa str = ht.accordare();
Sistema.fuori.println (str);

L'output è:

venti = 20, dieci = 10, trenta = 30

Conclusione

Un tavolo da hash è una mappa di coppie chiave/valore. Internamente, una chiave viene effettivamente eseguita nell'indice di un array. Il valore di quell'indice è il valore della coppia chiave/valore. L'hashtable è una classe nel Java.util.* Il pacchetto, che dovrebbe essere importato prima della sua costruzione e altri metodi, può essere utilizzato.