structure
Class ReverseComparator
java.lang.Object
|
+--structure.ReverseComparator
- All Implemented Interfaces:
- Comparator
- public class ReverseComparator
- extends Object
- implements Comparator
Implementation of the Comparator
interface that
provides a compare(Object,Object)
method that compares
two objects using those objects default compareTo methods. Reverse
comparator however, reverses the natural comparison as follows:
Were we to call compare(a,b), ReverseComparator would return
the following:
>0 if a < b
0 if a = b
<0 if a > b
Example usage:
To print out the equality relationship between two randomly generated integers
we could use the following:
public static void main(String[] argv){
Random rand = new Random();
Comparator c = new ReverseComparator()
;
//generate two random Integers
Integer a = new Integer(rand.nextInt(100));
Integer b = new Integer(rand.nextInt(100));
//print out the proper equality relationship between these integers
if(c.compare(a,b)
> 0) System.out.println("A:" + a + " > B:" + b);
else if (c.compare(a,b) < 0) System.out.println("A:" + a + " < B:" + b);
else System.out.println("A:" + a + " = B:" + b);
Method Summary |
int |
compare(Object a,
Object b)
Compare two values, a and b. |
boolean |
equals(Object b)
Returns true if the other object is a NaturalComparator. |
Methods inherited from class java.lang.Object |
, clone, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait |
base
protected Comparator base
ReverseComparator
public ReverseComparator()
- Construct a comparator that generates reverse natural comparison
ReverseComparator
public ReverseComparator(Comparator base)
- Construct a comparator that generates reverse of another comparator
- Parameters:
base
- the ordering to be reversed
compare
public int compare(Object a,
Object b)
- Compare two values, a and b. Simply calls the default
compareTo method for a on b.
- Specified by:
compare
in interface Comparator
- Parameters:
a
- object performing the compareb
- the object being compared- Precondition:
- a, b non-null, and b is of type of a
- Postcondition:
- returns value <, ==, > 0 if a <, ==, > b
- Returns:
- value <, ==, > 0 if a <, ==, > b using a.compareTo
equals
public boolean equals(Object b)
- Returns true if the other object is a NaturalComparator.
- Specified by:
equals
in interface Comparator
- Overrides:
equals
in class Object
- Parameters:
b
- a possible NaturalComparator- Postcondition:
- returns true if b is a NaturalComparator
- Returns:
- true if b is a NaturalComparator