[
https://issues.apache.org/jira/browse/COLLECTIONS-242?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13587337#comment-13587337
]
Matt Lachman edited comment on COLLECTIONS-242 at 2/27/13 2:04 PM:
-------------------------------------------------------------------
I found this after posting for something similar on StackOverflow
[here|http://stackoverflow.com/questions/15094818/compare-two-java-collections-using-comparator-instead-of-equals].
The Equator interface seems to have more potential uses (such as Maps and Sets
using it for determining uniqueness).
I think it would also be worthwhile to overload {{isEqualCollection}} on
{{CollectionUtils}} using this interface:
{code:java}
public static boolean isEqualCollection(Collection a,
Collection b, Equator e)
{code}
-If it makes sense, I can file this as a separate enhancement request dependent
on this issue.-
I created COLLECTIONS-446 for this
was (Author: mjlachman):
I found this after posting for something similar on StackOverflow
[here|http://stackoverflow.com/questions/15094818/compare-two-java-collections-using-comparator-instead-of-equals].
The Equator interface seems to have more potential uses (such as Maps and Sets
using it for determining uniqueness).
I think it would also be worthwhile to overload {{isEqualCollection}} on
{{CollectionUtils}} using this interface:
{code:java}
public static boolean isEqualCollection(Collection a,
Collection b, Equator e)
{code}
If it makes sense, I can file this as a separate enhancement request dependent
on this issue.
> Add Equator interface for more powerful collections
> ---------------------------------------------------
>
> Key: COLLECTIONS-242
> URL: https://issues.apache.org/jira/browse/COLLECTIONS-242
> Project: Commons Collections
> Issue Type: Improvement
> Components: Comparator
> Reporter: Stephen Kestle
> Assignee: Stephen Kestle
> Fix For: 4.0
>
>
> Java has Comparable and Comparator to compare objects, and objects have an
> equals() method. But there is no interface for when an object has multiple
> ways of being equal.
> e.g.: an database object that has a name, code and a value. Equality could be
> based on:
> * database id
> * code
> * name and code
> * case-insensitive name
> When extended to collections, this allows us to search for specific
> values (with an EqualsPredicate that takes an Equator), and implement
> Maps and Sets that use specific equators to determine uniqueness.
> I propose that it has two methods:
> boolean equate();
> int hash();
> I shall upload some files when I next get some time.
> NB: This ticket is a summary of the email conversation begun on 5 Jan 2007:
> "equator interface"
> (http://archives.devshed.com/forums/java-118/equator-interface-2126195.html).
> Stephen C made reference there to creating a FlexiMap, but in my mind,
> that's additional to this issue (this interface still needs to be created to
> be able to stand alone).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira