Java Hashset

Java Hashset

I Java er et hashset et sett. Mens et sett ville være et sett med heltall, eller av floats eller av strenger osv., Hashset ville være et sett med par. I Java-riktig er et par et kartinngang som kan opprettes uavhengig av destinasjonskartlignende datastruktur. Et kartinngang eller par er kode med en nøkkel og den tilsvarende verdien. Nøkkelen er faktisk hasjet inn i en matriseindeks for verdien.

Følgende er et eksempel data av nøkkel/verdipar der en nøkkel er et fruktnavn og den tilsvarende verdien er den ytre fargen på frukten:

pasjonsfrukt => lilla
vannmelon => grønn
Fersken => mørk gul
papaya => oransje
mango => gul

Denne artikkelen gir grunnleggende kunnskap om Java Hashset, som begynner med opprettelsen av et par (kartoppføring).

Opprette et kartinngang

En syntaks for å lage et kartinngang (par) er:

public simpleEntry (K Key, V -verdi)

Dette er av abstraktmapet.SimpleEntry Class, av pakken, Java.util.*, som må importeres. K er typen nøkkel, som i dette tilfellet er en streng. V er typen verdi, som i dette tilfellet fremdeles er en streng.

Følgende kodesegment oppretter fem par:

AbstractMap.SimpleEntry Par1 = nytt AbstractMap.SimpleEntry("Passion Fruit", "Purple");
AbstractMap.SimpleEntry Par2 = nytt AbstractMap.SimpleEntry("vannmelon", "grønn");
AbstractMap.SimpleEntry Par3 = nytt AbstractMap.SimpleEntry("Peach", "mørk gul");
AbstractMap.SimpleEntry Par4 = nytt AbstractMap.SimpleEntry("Papaya", "oransje");
AbstractMap.SimpleEntry Pair5 = nytt AbstractMap.SimpleEntry("mango", "gul");

Disse fem parene kan danne fem elementer av et hashset.

Konstruere et hashset

Det er fire overbelastede konstruktører for hashset, men bare to er illustrert i denne artikkelen.

offentlig hashset ()

Dette skaper et tomt hashset. Et tomt hashset for parene ovenfor kan opprettes som følger:

Hashset> HS = nytt hashset> ();
offentlig hashset (samling c)

Dette tar en annen hashset som argument for å lage et nytt hashset. Et eksempel på kodeuttalelsen til et hashset opprettet fra et annet hashset er:

Hashset> HSB = nytt hashset> (HS);

Hvor HS er et allerede opprettet hashset.

Hashset -klassen er også i Java.util.* pakke, som skal importeres.

Metoder for hashset

Vanlige brukte metoder for hashset -klassen blir forklart i denne delen.

Offentlig boolsk add (e e)

Dette legger et nytt par (element) til hashset. Det returnerer sant hvis dette settet ikke allerede inneholdt det spesifiserte elementet; falsk ellers. Følgende kodesegment legger til ovennevnte fem elementer (par) til hashset, HS:

Hashset> HS = nytt hashset> ();
HS.Legg til (par1); HS.Legg til (par2); HS.Legg til (par3); HS.Legg til (par4); HS.Legg til (par5);

offentlig int -størrelse ()

Dette returnerer antall par (elementer) i settet. Eksempel:

int sz = hs.størrelse();
System.ute.Println (SZ);

For denne koden ville returverdien være 5.

offentlig iterator iterator ()

En iterator er et objekt som kan brukes til å få tilgang til alle elementene i et sett (eller liste), en-for-en. Følgende uttalelse returnerer en iterator fra ovennevnte hashset:

Iterator> iter = hs.iterator ();

Iteratoren har metoden,

E Neste ()

Denne metoden for iteratoren returnerer neste element som begynner fra det første, i settet (eller listen). Elementene som returneres er ikke nødvendigvis i den rekkefølgen de ble lagt til. For å returnere neste element i ovennevnte hashset, kan følgende uttalelse brukes:

AbstractMap.SimpleEntry Par = iter.neste ();

Til venstre for oppdragsoperatøren, er et programmerer bestemt navn for et par (kartinngang), par, forut for typen par. Til høyre er iteratoren, oppnådd ovenfor, etterfulgt av metoden, neste (). Etter at paret har returnert paret, kan metodene på listen deretter brukes til å håndtere paret.

Klassen AbstractMap.SimpleEntry, for paret, har metoden, toString (). Denne metoden returnerer både nøkkelen og verdien i strengform. Følgende kodesegment, skriver ut alle nøkkel-/verdiparene i ovennevnte hashset ved hjelp av iteratoren:

for (int i = 0; iAbstractMap.SimpleEntry Par = iter.neste ();
System.ute.Println (par.toString ());

Utgangen er:

Papaya = oransje
Fersken = mørk gul
mango = gul
vannmelon = grønn
pasjonsfrukt = lilla

Metoden skiller nøkkelen fra verdien med =.

Offentlig boolsk fjerne (objekt O)

Dette fjerner et element (par) som programmereren allerede vet, skal være til stede, i hashset. Det returnerer sant, hvis en endring skjedde; og falsk ellers. Både iterasjonen og hashset -klassene har denne metoden (litt annerledes). Følgende kodesegment får tilgang til alle elementene i hashset og fjerner "vannmelon = grønn".

for (int i = 0; iAbstractMap.SimpleEntry Par = iter.neste ();
String str = par.toString ();
hvis (str.lik ("vannmelon = grønn"))
iter.fjerne();

System.ute.Println (HS.størrelse());

Utgangen er 4. Fjern () -metoden til iteratoren og ikke den til hashset. Paret (elementet) iteratoren pekte på er fjernet.

public void Clear ()

Dette fjerner alle elementene fra hashset. Følgende kodesegment illustrerer dette:

HS.klar();
System.ute.Println (HS.størrelse());

Utgangen er 0.

Offentlig boolsk isempty ()

Returnerer sant, hvis hashsetet ikke inneholder noe element, og usant ellers. Følgende kode illustrerer dette for et ikke-tomt sett:

boolsk BL = HS.er tom();
System.ute.println (BL);

Utgangen er falsk.

Boolean inneholder (objekt O)

Dette returnerer sant, hvis hashset inneholder det angitte elementet (paret); og falsk ellers. Følgende kodesegment illustrerer dette for et hashset som allerede har elementer:

AbstractMap.SimpleEntry PairC = Ny AbstractMap.SimpleEntry("Peach", "mørk gul");
boolsk BL = HS.inneholder (parc);
System.ute.println (BL);

For ovennevnte hashset er utgangen sann.

Konklusjon

Hashset i Java, er et sett. Imidlertid skiller det seg fra et normalt sett, ved at elementene forventes å være par. Et par er en elementkode, som har en nøkkel og den tilsvarende verdien. Nøkkelen er hash til en matriseindeks for verdien. Følgende uttalelse vil skape et tomt hashset:

Hashset> HS = nytt hashset> ();

HS er navnet på hashset.

I Java-ordentlig er et par et kartinngang. Følgende uttalelse ville skape et kartinngang:

AbstractMap.SimpleEntry Par1 = nytt AbstractMap.SimpleEntry("Passion Fruit", "Purple");

Typen nøkkel her er en streng, og typen verdi her, er også en streng.

Java Hashset -klassen har noen nyttige metoder som er blitt forklart ovenfor.