org.zkoss.util
Class IdentityComparator

java.lang.Object
  extended by org.zkoss.util.IdentityComparator
All Implemented Interfaces:
Comparator

public class IdentityComparator
extends Object
implements Comparator

The comparator uses == and System.identifyHashCode to compare two objects. It assumes if o1 != o2, then c1 != c2 where c1 = System.identityHashCode(o1).

This is useful if dynamic proxy is used with TreeSet or TreeMap (so equals is expensive). Reason: the speed of identifyHashCode is much faster than dynamic proxy (150:1).

However, if possible, java.util.IdentityHashMap and IdentityHashSet are preferred.

Author:
tomyeh
See Also:
IdentityHashSet

Constructor Summary
IdentityComparator()
           
 
Method Summary
 int compare(Object o1, Object o2)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.util.Comparator
equals
 

Constructor Detail

IdentityComparator

public IdentityComparator()
Method Detail

compare

public int compare(Object o1,
                   Object o2)
Specified by:
compare in interface Comparator


Copyright © 2012. All Rights Reserved.