Path: csiph.com!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!npeer02.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!nx02.iad01.newshosting.com!newshosting.com!news-out.readnews.com!transit3.readnews.com!news-out.news.tds.net!newsreading01.news.tds.net!53ab2750!not-for-mail From: "Arne Vajhøj" Subject: Re: hashCode Message-ID: <502943B3.56757.calajapr@time.synchro.net> X-Comment-To: Robert Klemme Newsgroups: comp.lang.java.programmer In-Reply-To: <5027F2CB.56702.calajapr@time.synchro.net> References: <5027F2CB.56702.calajapr@time.synchro.net> X-FTN-AREA: COMP.LANG.JAVA.PROGRAMMER X-FTN-MSGID: 1:261/38 1ed7e32e X-FTN-REPLY: 1:261/38 e794f605 Content-Type: text/plain; charset=IBM437 Content-Transfer-Encoding: 8bit X-Gateway: time.synchro.net [Synchronet 3.16a-Win32 NewsLink 1.98] Lines: 57 Date: Mon, 13 Aug 2012 18:36:17 GMT NNTP-Posting-Host: 69.21.70.65 X-Complaints-To: news@tds.net X-Trace: newsreading01.news.tds.net 1344882977 69.21.70.65 (Mon, 13 Aug 2012 13:36:17 CDT) NNTP-Posting-Date: Mon, 13 Aug 2012 13:36:17 CDT Organization: tds.net X-Received-Bytes: 2970 Xref: csiph.com comp.lang.java.programmer:17807 To: Robert Klemme From: Arne Vajhoj On 8/12/2012 11:06 AM, Robert Klemme wrote: > On 11.08.2012 01:27, Arne Vajhoj wrote: >> On 8/10/2012 6:22 PM, bob smith wrote: >>> On Friday, August 10, 2012 11:34:28 AM UTC-5, Eric Sosman wrote: >>>> On 8/10/2012 11:47 AM, bob smith wrote: >>>>> Is it always technically correct to override the hashCode function >>>>> like so: >>>>> @Override >>>>> public int hashCode() { >>>>> return 1; >>>>> } >>>>> Would it be potentially better if that was Object's implementation? >>>> >>>> Define "better." >>> >>> Better in the sense that you would never HAVE to override hashCode. >>> >>> Now, there are cases where you HAVE to override it, or your code is >>> very broken. >> >> It is not broken. >> >> It will perform poorly in many cases. > > Well, I would go as far as to say that it will perform poorly in all > cases where hashCode() is actually needed More or less. > - and that makes it broken. This thread started about whether it is correct. The term correct has a very specific meaning in programming and that always return 1 code is correct. Now you talk about broken. If broken means not good, then you are right. If broken means not correct, then you are wrong. I suspect that broken is not very well defined. > The whole idea of hashing is based on the fact that the hash code > _somehow_ represents the item to be hashed. If all items have the same > constant hash code there is no point in hashing at all. So while it > does work, it does not work as intended. It disable the entire hashing functionality and a HashMap get characteristics of ArrayList. But the code should actually work. 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