Для сортировки списков в java у класса Collections есть перегруженный метод sort, который может принимать разные наборы аргументов. Одна из сигнатур метода выглядит следующим образом:
public static <T> void sort(List<T> list, Comparator<? super T> c)
Метод принимает экземпляр класса, реализующего интерфейс List и параметризованный содержимым листа компаратор, который знает как сортировать этот самый лист. При вызове без компаратора метод отсортирует Ваш лист в обычном порядке, но если передать ему компаратор, который возвращает метод класса Collections reverseOrder(), то он отсортирует в обратном порядке лист. Пример в коде ниже.
public class TestClass { public static void main(String[] args) { List listStrings = new ArrayList(Arrays.asList("AAA","BBB","AB","bbb","A","ABC","AAa")); System.out.println("Исходный список: "+listStrings); Collections.sort(listStrings); System.out.println("Сортированный список в прямом порядке " + listStrings); Collections.sort(listStrings, Collections.reverseOrder()); System.out.println("Сортированный список в обратном порядке"+listStrings); } }
Огонь!