Java Using Comparator
Java Using Comparator
Both TreeSet and TreeMap store elements in sorted order. However, it is the comparator that
defines precisely what sorted order means.
The Comparator interface defines two methods: compare and equals. The compare method,
shown here, compares two elements for order:
obj1 and obj2 are the objects to be compared. This method returns zero if the objects are equal. It
returns a positive value if obj1 is greater than obj2. Otherwise, a negative value is returned.
By overriding compare, you can alter the way that objects are ordered. For example, to sort in
reverse order, you can create a comparator that reverses the outcome of a comparison.
obj is the object to be tested for equality. The method returns true if obj and the invoking object
are both Comparator objects and use the same ordering. Otherwise, it returns false.
Overriding equals is unnecessary, and most simple comparators will not do so.
Example:
import java.util.*;
list.add(new Dog("Shaggy",3));
list.add(new Dog("Lacy",2));
list.add(new Dog("Roger",10));
list.add(new Dog("Tommy",4));
list.add(new Dog("Tammy",1));
Collections.sort(list);// Sorts the array list