Suppose you have objects of type MyClass
. Further assume that you have a collection (named myCollection
) containing objects of type MyClass
. To sort this collection, follow these steps:
- MyClass must implement java.lang.Comparable which has the single method:
public int compareTo(Object obj) throws ClassCastException;
- Implement this method in MyClass. This method should throw a ClassCastException if the argument obj cannot be type-casted into MyClass. Though the comparison logic will be customized to object, it is usually based on the attributes of MyClass. Specifically, obj will be compared to the object on which compareTo() method is being called by JVM during sorting. If that object is greater than obj, a positive value is returned. If it's equal to obj, a vallue of 0 is returned. If it's less than obj, a negative value is returned.
- Now that you have all MyClass objects in myCollection object, sorting can be done by calling:
This reorders the objects in myCollection. The default order is ascending.