You can provide a Comparator
for comparing any type you wish, Comparable
or otherwise.
For Arrays and Collections you use
Arrays.sort(array, myComparator);
Collections.sort(list, myComparator);
Even sorted collections like TreeSet can take a custom Comparator
e.g.
Collections.sort(books, new Comparator<Book>() {
public int compare(Book b1, Book b2) {
return if b1 is greater return +1, if b2 is smaller return -1 otherwise 0
}
});