Hashtable i Java

Hashtable i Java
Et hashbord er for nøkkel/verdipar. Internt lagres verdiene i en matrise. Hver tast konverteres til en indeks av matrisen. Denne konverteringen er kjent som hasing. Det gjøres av en hasjfunksjon internt. Med andre ord, nøklene trenger ikke å lagres. Alt som er hash-tabellen, i Java og på andre dataspråk. Denne artikkelen forklarer to konstruktører av Java Hastable og dens ofte brukte metoder.

Følgende fem linjer viser ord og deres betydninger:

LULL: Å gjøre noen avslappede og rolige
lys: energien fra solen
Mørke: Fravær av lys
Pappa: Et mindre formelt ord for far
Cook: En person hvis jobb lager mat

Hvert ord kan betraktes som en nøkkel, og hver betydning kan betraktes som en verdi. Denne listen over nøkkel/verdipar, vil bli brukt gjennom denne artikkelen. Hashtable -klassen er i javaen.util.* pakke, som må importeres.

Artikkelinnhold

  • Konstruksjon
  • Få tilgang til nøkkel/verdipar
  • Returneringsliste fra hashtable
  • Konvertere settet med nøkkel/verdipar til streng
  • Konklusjon

Konstruksjon
offentlig hashtable ()

Denne metoden konstruerer en tom hasjbord. Følgende program oppretter en tom hashtable, kalt DIC (for ordbok), og gir den deretter fem nøkkel/verdipar.

Importer Java.util.*;
public class theclass
public static void main (String [] args)
Hashtable dic = ny hashtable();
dic.PUT ("LULL", "For å gjøre noen avslappede og rolige"); dic.Put ("lys", "energien fra solen");
dic.put ("mørke", "fravær av lys"); dic.Put ("pappa", "et mindre formelt ord for far");
dic.Put ("kokk", "en person hvis jobb er matlaging");

Merk at nøkkeltypen må angis på venstre og høyre side av konstruktørerklæringen. Verdypen må også angis på begge sider. Java Hashtable-klassen har Put () -metoden for å sette et nøkkel/verdipar i hash-tabellen.

offentlig hashtable (kart t)

Denne konstruktørmetoden vil lage en hashtable fra en annen hashtable. Navnet på hashtabelen til ovennevnte kode er DIC. En annen hashtable kan opprettes fra DIC som følger:

Hashtable dic2 = ny hashtable(DIC);

Den nye hashtabelen er DIC2. For øyeblikket har den alle elementene (nøkkel/verdipar) til DIC Hashtable.

Få tilgang til nøkkel/verdipar
Public V Put (K Key, V -verdi)

Denne metoden setter et nøkkel/verdipar i hashtabelen. Den returnerer den forrige verdien av den spesifiserte nøkkelen til denne hashtabelen, eller null hvis nøkkelen ikke hadde en verdi. Følgende kode illustrerer dette:

Hashtable hshtbl = ny hashtable();
String oldValue1 = hshtbl.Put ("Blå", "å ha fargen på havet på en klar dag");
System.ute.println (oldValue1);
String oldValue2 = hshtbl.Put ("Blå", "Farge på en klar himmel på en klar dag");
System.ute.println (oldValue2);

Utgangen er:

null
Å ha fargen på havet på en klar dag

public void putall (kart t)

Denne metoden setter en annen hashtable i hashtabelen av interesse. Det returnerer tomrom. Se for deg at ovennevnte hashtable, DIC allerede er i programmet. Se for deg at en annen hashtable, DIC3, med følgende innhold også allerede er i programmet:

"Blue" = "Farge på en klar himmel på en klar dag",
"Vector" = "et kurs tatt av et fly"

Alt innholdet i DIC3 kan inkluderes i DIC, med følgende uttalelse:

dic.Putall (DIC3);

offentlig int -størrelse ()

Denne metoden returnerer antall nøkler for hashtabelen. Følgende kode illustrerer dette:

Hashtable dic = ny hashtable();
dic.PUT ("LULL", "For å gjøre noen avslappede og rolige"); dic.Put ("lys", "energien fra solen");
dic.put ("mørke", "fravær av lys"); dic.Put ("pappa", "et mindre formelt ord for far");
dic.Put ("kokk", "en person hvis jobb er matlaging");
int sz = dic.størrelse();
System.ute.Println (SZ);

Utgangen er 5.

public v Get (Objektnøkkel)

Denne metoden returnerer verdien som den spesifiserte tasten ble hasjet til, eller null hvis nøkkelen ikke var hasjet til noen verdi (Array Index). Følgende kode illustrerer dette:

Hashtable dic = ny hashtable();
dic.PUT ("LULL", "For å gjøre noen avslappede og rolige"); dic.Put ("lys", "energien fra solen");
dic.put ("mørke", "fravær av lys"); dic.Put ("pappa", "et mindre formelt ord for far");
dic.Put ("kokk", "en person hvis jobb er matlaging");
System.ute.Println (DIC.få ("lull"));
System.ute.Println (DIC.få ("lys"));
System.ute.Println (DIC.få ("vektor"));

Utgangen er:

å få noen avslappet og rolige
energien fra solen
null

public v Remove (Objektnøkkel)

Denne metoden fjerner nøkkelen og den tilsvarende verdien, fra hashtabelen. Den returnerer verdien for nøkkelen, eller null hvis nøkkelen ikke var til stede følgende kode illustrerer dette:

Hashtable dic = ny hashtable();
dic.PUT ("LULL", "For å gjøre noen avslappede og rolige"); dic.Put ("lys", "energien fra solen");
dic.put ("mørke", "fravær av lys"); dic.Put ("pappa", "et mindre formelt ord for far");
dic.Put ("kokk", "en person hvis jobb er matlaging");
String ret1 = dic.fjerne ("mørke");
String ret2 = dic.fjerne ("mørke");
System.ute.println (ret1);
System.ute.println (ret2);

Utgangen er:

fravær av lys
null

Offentlig boolsk isempty ()

Returnerer sant hvis hashtabelen ikke har noen nøkkelhaset til en verdi (Array Index); og falsk ellers. Følgende kode viser hvordan du bruker denne metoden:

Hashtable DIC4 = Ny hashtable();
boolsk BL = dic4.er tom();
System.ute.println (BL);

Utgangen er sann.

public void Clear ()

Denne metoden fjerner alle nøkkelen/verdiparene i hashtabelen. Størrelsen på hashtabelen blir null. Følgende kode viser bruken:

Hashtable DIC5 = Ny hashtable();
DIC5.Put ("Blå", "Farge på en klar himmel på en klar dag");
DIC5.put ("vektor", "et kurs tatt av et fly");
DIC5.klar();
System.ute.Println (DIC5.størrelse());

Utgangen er 0.

Returneringsliste fra hashtable
Offentlige oppregningselementer ()

Denne metoden returnerer en oppregning av verdiene til hashtabelen. Oppregningsklassen har sine metoder. Følgende kode viser hvordan du får en oppregning av verdier av hashtabelen, og hvordan du bruker oppregningsmetodene, for å lese verdiene:

Hashtable dic = ny hashtable();
dic.PUT ("LULL", "For å gjøre noen avslappede og rolige"); dic.Put ("lys", "energien fra solen");
dic.put ("mørke", "fravær av lys"); dic.Put ("pappa", "et mindre formelt ord for far");
dic.Put ("kokk", "en person hvis jobb er matlaging");
Oppregning e = dic.elementer ();
mens (e.hasMoreelements () == true)
String str = e.nextElement ();
System.ute.println (str);

Utgangen er:

en person som har jobbet med å lage mat
Et mindre formelt ord for far
energien fra solen
fravær av lys
å få noen avslappet og rolige

Legg merke til at utgangsrekkefølgen ikke er inngangsordren. Slik fungerer hashtable i Java.

Offentlige oppregningsnøkler ()

Denne metoden returnerer en oppregning av tastene til hashtabelen. Oppregningsklassen har sine metoder. Følgende kode Hvordan få en oppregning av tastene til hashtabelen, og hvordan du bruker oppregningsmetodene for å lese tastene:

Hashtable dic = ny hashtable();
dic.PUT ("LULL", "For å gjøre noen avslappede og rolige"); dic.Put ("lys", "energien fra solen");
dic.put ("mørke", "fravær av lys"); dic.Put ("pappa", "et mindre formelt ord for far");
dic.Put ("kokk", "en person hvis jobb er matlaging");
Oppregning e = dic.nøkler ();
mens (e.hasMoreelements () == true)
String str = e.nextElement ();
System.ute.println (str);

Utgangen er:

kokk
pappa
lys
mørke
LULL

Legg merke til at utgangsrekkefølgen ikke er inngangsordren. Slik fungerer hashtable i Java. Nøkkelen er faktisk hasjet til en indeks (nummer) av en matrise, hvis celleinnhold er verdien.

offentlig sett Entryset ()

Denne metoden returnerer en innsatssamling av nøkkel/verdipar, av hashtabelen. Følgende kode viser hvordan du håndterer retursettet, av nøkkel/verdipar, og hvordan du skriver ut alle nøkkelen/verdiparene:

Hashtable dic = ny hashtable();
dic.PUT ("LULL", "For å gjøre noen avslappede og rolige"); dic.Put ("lys", "energien fra solen");
dic.put ("mørke", "fravær av lys"); dic.Put ("pappa", "et mindre formelt ord for far");
dic.Put ("kokk", "en person hvis jobb er matlaging");
Sett> C = DIC.inngangssett ();
Iterator> iter = c.iterator ();
mens (iter.hasnext () == true)
Kart.Inngang KV = iter.neste ();
System.ute.Println (KV.getKey () + ":" + kv.getValue ());

Utgangen er:

Cook: En person hvis jobb lager mat
Pappa: Et mindre formelt ord for far
lys: energien fra solen
Mørke: Fravær av lys
LULL: Å gjøre noen avslappede og rolige

Selv om de tilsvarende verdiene for nøkler er opprettholdt, er ikke utgangsrekkefølgen inngangsordren. Slik fungerer hashtable i Java.

Konvertere settet med nøkkel/verdipar til streng
public String ToString ()

Denne metoden konverterer alle nøkkel-/verdiparene til hashtabelen, til en lang streng. Det spiller ingen rolle, hvis typene nøkler eller verdier ikke var strenger. Dette illustreres med følgende kode:

Hashtable ht = ny hashtable();
ht.put ("ti", 10);
ht.put ("tjue", 20);
ht.put ("tretti", 30);
String str = ht.toString ();
System.ute.println (str);

Utgangen er:

tjue = 20, ti = 10, tretti = 30

Konklusjon

En hash-tabell er et kart over nøkkel/verdipar. Internt er en nøkkel faktisk hasjet inn i indeksen for en matrise. Verdien av den indeksen er verdien av nøkkelen/verdiparet. Hashtable er en klasse i Java.util.* Pakke, som skal importeres før konstruksjonen og andre metoder, kan brukes.