Tady je opet potreba se na to podivat skrz teorii algoritmu. Ale jinak
jak pisou ostatni na webu je spousta popisu ktere to vysvetli podrobneji
a lepe.
Hastable, jsou tabulky zalozene na slovniku. tj, na dvojicich (klic,
jeho vyznam). Pricemz zakladni vyznam, je v rychlejsim nalezeni hodnoty
k danemu klici.
Kdyz si tedy predstavite nejaky slovnik, treba AN-CZ, v nem mate nejaky
klic, ten klic muze mit v cestine vice vyznamu. Zde pak zalezi na
konkretni implementaci hashovaci tabulky.
Jedna z implementaci napriklad funguje tak, ze spocita hashcode klice a
bude to jeho umisteni v tabulce, pokud ale nastane pripad, ze nejaky
objekt ma stejny hashcode, a jeho pozice je jiz obsazena, tak nalezne
prvni volne misto v tabulce za timto objektem a tam jej ulozi.
Samozrejme, jen tehdy,pokud to tabulka dovoli (muze prohlasit, s
hashcodem tam muze byt jen jeden stejny objekt a pak ho prepise).
Dalsi implementace je takova, ze na pozici s danou hodnotou hashcode ma
ulozeny nejakou jinou strukturu (pole, kolekci apod).a ta obsahuje
vsechny objekty se stejnym hashcode. Pokud potom vyzaduje aplikace
nalezt konkretni objekt, tak pak zalezi zda vrati na zaklade hashcode
vsechny, nebo pak prochazi jinym zpusobem tu strukturu obsahujici dane
objekty (napr. pomoci metody equals).
Lumi(r)
Kamzik-II wrote:
Koukal sem do toho JavaDocu a neni mi teda jasne, k cemu by se to dalo
vyuzit... Je tam psano o hashtables, ktere jsem asi taky nepochopil,
nebo nwim, asi jsem uplne mimo, myslel jsem, ze je to nejake id
objektu, ale pokud stejne cislo muze vracet vic objektu, tak se to
neda pouzit ani na to...
----- Original Message ----- From: "Kamzik-II" <[EMAIL PROTECTED]>
To: "Java" <[email protected]>
Sent: Thursday, July 27, 2006 3:30 PM
Subject: Re: equals a hashCode (WAS: java.security.Permission)
Jo jo jasne, ale me spis zajima, proc je
v ramci vm a ne v ramci aplikace, btw: neni to nahodou to same?
----- Original Message ----- From: "Kamil Podlesak" <[EMAIL PROTECTED]>
To: "Java" <[email protected]>
Sent: Thursday, July 27, 2006 3:25 PM
Subject: Re: equals a hashCode (WAS: java.security.Permission)
Kamzik-II wrote:
O boze, equals tady nekdo pekne vysvetlil na
vytiscich knih, hascode vicemene taky chapu, ale
neni mi jasne na co je mi dobrej ;-)
Hashcode je dobrej v okamziku, kdyz se patricny objekt uklada do
hashtabulky ci mnoziny. A to s nejvetsi pravdepodobnosti bude.
--
Kamil Podlesak <[EMAIL PROTECTED]>