Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!news.glorb.com!news-out.readnews.com!transit3.readnews.com!news-out.news.tds.net!newsreading01.news.tds.net!53ab2750!not-for-mail From: "Lew" Subject: Re: hashCode Message-ID: <50294F00.56788.calajapr@time.synchro.net> X-Comment-To: Jan Burse Newsgroups: comp.lang.java.programmer X-FTN-AREA: COMP.LANG.JAVA.PROGRAMMER X-FTN-MSGID: 1:261/38 d7a82db3 Content-Type: text/plain; charset=IBM437 Content-Transfer-Encoding: 8bit X-Gateway: time.synchro.net [Synchronet 3.16a-Win32 NewsLink 1.98] Lines: 44 Date: Mon, 13 Aug 2012 19:38:29 GMT NNTP-Posting-Host: 69.21.70.65 X-Complaints-To: news@tds.net X-Trace: newsreading01.news.tds.net 1344886709 69.21.70.65 (Mon, 13 Aug 2012 14:38:29 CDT) NNTP-Posting-Date: Mon, 13 Aug 2012 14:38:29 CDT Organization: tds.net Xref: csiph.com comp.lang.java.programmer:17840 To: Jan Burse From: "Lew" To: Jan Burse From: "Lew" To: Jan Burse From: Lew 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()'. -- Lew Honi soit qui mal y pense. http://upload.wikimedia.org/wikipedia/commons/c/cf/Friz.jpg -+- 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 -+- 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 --- 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