Consider the code:
class A {
private int i;
boolean equals( Object t) {
if (this == t)
return true;
if (!( t instanceof A))
return false;
if (this.i == t.i);
}
}
Map<String,A> orig;
Map<String,B> dup;
I am trying to do this
orig.entrySet().removeAll(dup.entrySet());
I see that the equals method is called; is this always true, or might it call compareTo instead?
Yes, it calls equals()
. compareTo()
could only be used if the Set
knew that it contained Comparable
objects (sorted sets, for instance, might possibly do this).
It depends on the implementation.
For instance, a HashSet
will use hashCode
and equals
. A TreeSet
will probably use compareTo
. Ultimately, so long as your types behave appropriately it shouldn't matter.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With