Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #9847
| From | Lew <lewbloch@gmail.com> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: equals(), Sets, Maps, and degrees of equality |
| Date | 2011-11-11 07:27 -0800 |
| Organization | http://groups.google.com |
| Message-ID | <4407931.1762.1321025241857.JavaMail.geo-discussion-forums@prep8> (permalink) |
| References | <24123649.762.1320892382934.JavaMail.geo-discussion-forums@vbmh5> <slrnjbppgl.fvg.avl@gamma.logic.tuwien.ac.at> |
Andreas Leitgeb wrote:
> Sean Mitchell wrote:
>> Anyone ever run into the case where you wish an Object could have
>> more than one equals(), or that Set and Map implementations would
>> let you pass in something like a closure to determine key equality?
>
> Yep, I also noticed this lack in the context of "orthogonality".
> I just still haven't found any actual practical use for it.
>
>> It seems to me that objects can be equal in varying degrees. Let's
>> consider a class Dog:
>> public class Dog {
>> String breed;
>> String name;
>> String age;
>> }
>> I may want to have a Set<Dog>, which holds only one Dog of each breed,
This is terrible modeling.
> In that case, I'd use a Map<String,Dog>, which would be keyed by the breed
> name itself, rather than by an arbitrary dog of that breed.
>
> Probably, I'd even create a class Breed, that would encapsulate some more
> properties along with the name, and then use the Breed class as key.
+
This is the way to go.
> For the example at hand, this would allow filling the structure with breeds
> that are "requested" (initially associated with null Dog), then some other
> part of the code could pick an appropriate Dog for each requested Breed.
>
>> But I may also want a Map<Dog, Owner> in which each Dog is made unique
>> by name.
>
> That doesn't make sense to me, because the owner would rather be a property
> of the dog(*), than of its name. Who's the owner of "any dog called Rufus", btw?
>
> *: natural language is sometimes quite at odds with modelling language. :-)
Andreas is on to something here.
--
Lew
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar
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