Java programmeringsspråk har to forskjellige men lignende data container typer, den HashMap og HashSet . Begge benytter en hash tabell for å lagre data . En hash table er en tabell med verdier som bruker en hash-funksjon for å finne ut hvor du skal se etter og lagre data . Dette gir mulighet for rask datatilgang fordi en verdi ikke må søkes for . I stedet kan den hash-funksjon gir den nøyaktige plassering av verdien. Til tross for både bruker hash tabeller , HashMap og HashSet er ganske forskjellige fra hverandre . Kart
Maps lagrer data i nøkkel - verdi relasjoner . En nøkkel er sagt å være koblet til en verdi. En ordbok er et godt eksempel på et kart data container . Nøkkelen er ordet du leter opp og verdien er definisjonen . Alle data i et kart må lagres ved hjelp av en unik nøkkel , men det kan være flere , identiske verdier .
Stiller
Et sett er en samling av data uten duplisere elementer. For eksempel er sekvensen av sifrene 0-9 et sett, men sekvensen 0 , 1, 1 , 2, 3 er ikke siden sifferet 1 gjentas . Et sett inneholder ikke en nøkkel- verdi forholdet som et kart. Det er rett og slett en samling av ikke - dupliserte verdier.
Resultatutvikling
HashMap gir konstant tid forestilling for "få" og " sette " metoder , som brukes til å fylle datastrukturen . Konstant time ytelse betyr at uansett hvor stor datastruktur blir, vil disse operasjonene alltid ta like lang tid å utføre. Den HashSet gir konstant time ytelse for den " legge ", " fjern ", " inneholder " og " størrelse " metoder .
Valgfrie funksjoner
HashMap gir alle av driften av Java Kart klassen og HashSet gir alle operasjonene i Java Set klasse . Dette er fordi både HashMap og HashSet er implementeringer av Java Kart og Set klasser, henholdsvis .