Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #9843

Re: equals(), Sets, Maps, and degrees of equality

Path csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!news.albasani.net!eternal-september.org!feeder.eternal-september.org!.POSTED!not-for-mail
From markspace <-@.>
Newsgroups comp.lang.java.programmer
Subject Re: equals(), Sets, Maps, and degrees of equality
Date Thu, 10 Nov 2011 20:55:59 -0800
Organization A noiseless patient Spider
Lines 38
Message-ID <j9i9t1$d5u$1@dont-email.me> (permalink)
References <24123649.762.1320892382934.JavaMail.geo-discussion-forums@vbmh5> <j9ffe1$3k9$1@dont-email.me> <j9frqs$pbk$1@dont-email.me> <663d43b1-2c58-40ea-90d5-d46b8ae821e5@cc2g2000vbb.googlegroups.com> <j9gq5d$ue6$1@dont-email.me> <5a705514-4b5e-48c2-8984-83e3b62b23b9@y7g2000vbe.googlegroups.com> <j9hvhf$r4p$1@dont-email.me> <j9i3he$ej9$1@dont-email.me> <j9i856$5a4$1@dont-email.me>
Mime-Version 1.0
Content-Type text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding 7bit
Injection-Date Fri, 11 Nov 2011 04:56:01 +0000 (UTC)
Injection-Info mx04.eternal-september.org; posting-host="XjIWM99mD7Ijfdu600oVPA"; logging-data="13502"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1//f7GyHj9U2YlgoTfdhw0mGMysRO/aqF8="
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20111105 Thunderbird/8.0
In-Reply-To <j9i856$5a4$1@dont-email.me>
Cancel-Lock sha1:kYGKOU7MgsClmwPEn8YVls7k79M=
Xref x330-a1.tempe.blueboxinc.net comp.lang.java.programmer:9843

Show key headers only | View raw


On 11/10/2011 8:24 PM, Eric Sosman wrote:

> On 11/10/2011 10:07 PM, markspace wrote:
>> Right. It's really not that different than making subclasses to handle
>> different schemes.

>
> It seems strikingly different to me. Your suggestion is that
> a Dog could dictate which of several hashCode/equals pairs to use,
> but any particular Dog instance could select only one pair at a time.
> With inner classes or wrappers, a single Dog instance could present
> multiple aspects simultaneously and could participate simultaneously
> in multiple collections based on those different key-nesses.


Oh I see.  The wrapper being a subclass of Dog.  I was thinking of 
comparing my Strategy pattern with subclasses which implemented specific 
behavior.

class Dog { .. some fields .. }

class DogSortedByName extends Dog {...}

class DogSortedByBreed extends Dog {...}

The strategy pattern is similar, because we really can't change a class 
of Dog once its used.  In extraordinary cases we could, if the object 
could be removed from a given collection completely, then we could 
change the its strategy and add it to another collection, but this may 
not be useful or practical.

The wrapper pattern is definitely more flexible, at the cost of needing 
one wrapper object for each Dog object.  The Strategy pattern is less 
flexible, but only needs one Strategy object per strategy (in this case 
anyway), and doesn't seem to buy us much over concrete subclasses. 
Given that we actually don't know that much about the OP's problem, I 
thought it would be interesting to speculate on some different solutions.

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

equals(), Sets, Maps, and degrees of equality Sean Mitchell <sean@mitchwood.com> - 2011-11-09 18:33 -0800
  Re: equals(), Sets, Maps, and degrees of equality Owen Jacobson <angrybaldguy@gmail.com> - 2011-11-09 22:10 -0500
    Re: equals(), Sets, Maps, and degrees of equality v_borchert@despammed.com (Volker Borchert) - 2011-11-10 04:42 +0000
  Re: equals(), Sets, Maps, and degrees of equality Eric Sosman <esosman@ieee-dot-org.invalid> - 2011-11-09 22:11 -0500
    Re: equals(), Sets, Maps, and degrees of equality markspace <-@.> - 2011-11-09 22:43 -0800
      Re: equals(), Sets, Maps, and degrees of equality Sean Mitchell <sean@mitchwood.com> - 2011-11-10 06:33 -0800
        Re: equals(), Sets, Maps, and degrees of equality markspace <-@.> - 2011-11-10 07:21 -0800
          Re: equals(), Sets, Maps, and degrees of equality Sean Mitchell <sean@mitchwood.com> - 2011-11-10 07:29 -0800
            Re: equals(), Sets, Maps, and degrees of equality markspace <-@.> - 2011-11-10 10:27 -0800
            Re: equals(), Sets, Maps, and degrees of equality Eric Sosman <esosman@ieee-dot-org.invalid> - 2011-11-10 20:58 -0500
              Re: equals(), Sets, Maps, and degrees of equality markspace <-@.> - 2011-11-10 19:07 -0800
                Re: equals(), Sets, Maps, and degrees of equality Eric Sosman <esosman@ieee-dot-org.invalid> - 2011-11-10 23:24 -0500
                Re: equals(), Sets, Maps, and degrees of equality markspace <-@.> - 2011-11-10 20:55 -0800
              Re: equals(), Sets, Maps, and degrees of equality Sean Mitchell <sean@mitchwood.com> - 2011-11-11 10:27 -0800
                Re: equals(), Sets, Maps, and degrees of equality Lew <lewbloch@gmail.com> - 2011-11-11 14:21 -0800
    Re: equals(), Sets, Maps, and degrees of equality Sean Mitchell <sean@mitchwood.com> - 2011-11-10 06:31 -0800
      Re: equals(), Sets, Maps, and degrees of equality Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2011-11-10 11:27 -0800
  Re: equals(), Sets, Maps, and degrees of equality Roedy Green <see_website@mindprod.com.invalid> - 2011-11-10 16:01 -0800
  Re: equals(), Sets, Maps, and degrees of equality Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-11-11 09:08 +0000
    Re: equals(), Sets, Maps, and degrees of equality Lew <lewbloch@gmail.com> - 2011-11-11 07:27 -0800
      Re: equals(), Sets, Maps, and degrees of equality Sean Mitchell <sean@mitchwood.com> - 2011-11-11 10:28 -0800
        Re: equals(), Sets, Maps, and degrees of equality Lew <lewbloch@gmail.com> - 2011-11-11 14:22 -0800
          Re: equals(), Sets, Maps, and degrees of equality markspace <-@.> - 2011-11-11 15:19 -0800
          Re: equals(), Sets, Maps, and degrees of equality Lew <lewbloch@gmail.com> - 2011-11-13 21:18 -0800
            Re: equals(), Sets, Maps, and degrees of equality Lew <lewbloch@gmail.com> - 2011-11-16 09:15 -0800

csiph-web