Path: csiph.com!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!news.alt.net!news-in-01.newsfeed.easynews.com!easynews.com!easynews!news-out.news.tds.net!newsreading01.news.tds.net!53ab2750!not-for-mail From: "=?UTF-8?B?QXJuZSBWYWpow7hq?=" <=?utf-8?b?qxjuzsbwywpow7hq?=@1:261/38.remove-m2z-this> Subject: Re: hashCode Message-ID: <5027F2C9.56692.calajapr@time.synchro.net> X-Comment-To: Lew Newsgroups: comp.lang.java.programmer In-Reply-To: <5027F2C8.56687.calajapr@time.synchro.net> References: <5027F2C8.56687.calajapr@time.synchro.net> X-FTN-AREA: COMP.LANG.JAVA.PROGRAMMER X-FTN-MSGID: 1:261/38 76e35f4a X-FTN-REPLY: 1:261/38 be050bca Content-Type: text/plain; charset=IBM437 Content-Transfer-Encoding: 8bit X-Gateway: time.synchro.net [Synchronet 3.16a-Win32 NewsLink 1.98] Lines: 33 Date: Sun, 12 Aug 2012 18:58:17 GMT NNTP-Posting-Host: 69.21.70.65 X-Complaints-To: news@tds.net X-Trace: newsreading01.news.tds.net 1344797897 69.21.70.65 (Sun, 12 Aug 2012 13:58:17 CDT) NNTP-Posting-Date: Sun, 12 Aug 2012 13:58:17 CDT Organization: tds.net X-Received-Bytes: 2128 Xref: csiph.com comp.lang.java.programmer:17747 To: Lew From: =?UTF-8?B?QXJuZSBWYWpow7hq?= On 8/11/2012 7:34 PM, Lew wrote: > Jan Burse wrote: >> Maybe it would make sense to spell out what the contract >> for hashCode() is. Well the contract is simply, the >> following invariant should hold: >> >> /* invariant that should hold */ >> if a.equals(b) then a.hashCode()==b.hashCode() > > True, but if you read the specification for 'hashCode()' fully, that is > not the entire contract, only the compiler-enforceable part of it. > > The entire specification requires that as much as feasible, the 'Object' > implementation distinguish distinct instances, and that the method > generally support 'HashMap', which promises O(1) 'get()' and 'put()' > with a "proper" (i.e., compliant) 'hashCode()'. Two wrong statements. It says that the method is defined to support HashMap And HashMap does not guarantee O(1) with a correct hashCode - it guarantee that for one that return good distributed values. Arne --- BBBS/Li6 v4.10 Dada-1 * Origin: Prism bbs (1:261/38) --- Synchronet 3.16a-Win32 NewsLink 1.98 Time Warp of the Future BBS - telnet://time.synchro.net:24