// 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 a Comparable, e.g. Thing implements Comparable and has a compareTo method. Comparator<Thing> sortInDescendingNaturalOrder = Collections.reverseOrder(); // You can now use sortInDescendingNaturalOrder wherever you need a Comparator for reverse natural order.