Jiri Mares wrote:
> Dovolil bych si nesouhlasit ... protoze pak by metoda contains byla treba v 
> rozporu s metodou remove, protoze contains
> by vracela true a remove false, protoze objekt se zmenenym hashem z hashset 
> nesmazete ...

Nebyla. Javadoc k contains() i remove() se dedi ze Set,
a o hashCode() v obojim neni ani zminka. Tedy pokud by
se obe chovaly podle javadocu, musely by projit celou
kolekci prvku, aby hledany prvek nasly.

Problem IMHO spociva v tom, ze HashSet dedi javadoc ze Set,
ktera mluvi pouze o equals().

A kdyz si prectete javadoc k Object.equals() a Object.hashCode(),
tak se tam rika, ze pokud dva objekty davaji equals() true,
tak musi davat i stejny hashCode(), ale zmeny v case se tam neresi.
Tento kontrakt equals() a hashCode() vkladane mutovatelne kolekce v kazdem
okamziku splnuji.

Tedy to, ze HashSet hleda objekty podle hodnoty hashCode()
v okamziku vlozeni, a nikoliv prohledanim vsech prvku kolekce,
je implementacni detail HashSet, kterym se lisi od Set,
a nemela by tedy od ni dedit javadoc.

Makub
-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Supercomputing Center Brno             Martin Kuba
Institute of Computer Science    email: [EMAIL PROTECTED]
Masaryk University             http://www.ics.muni.cz/~makub/
Botanicka 68a, 60200 Brno, CZ     mobil: +420-603-533775
--------------------------------------------------------------

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Odpovedet emailem