// if you alread have a Comparator<Thing> called SortByDate, a nested static class of Thing. Comparator<Thing> sortByDate = new Thing.SortByDate(); Comparator<Thing> sortByDescendingDate = Collections.reverseOrder( sortByDate ); // You can now use sortByDate wherever you need a Comparator for reverse date order. // if you already have aComparable, e.g. Thing implements Comparable and has a compareTo method. Comparator<thing> sortInDescendingNaturalOrder = Collections<Thing>.reverseOrder(); // You can now use sortInDescendingNaturalOrder wherever you need a Comparator for reverse natural order.