Мне нужно отсортировать список строк в алфавитном порядке:
List<String> list = new ArrayList();
list.add("development");
list.add("Development");
list.add("aa");
list.add("AA");
list.add("Aa");
Обычный способ сделать это - использовать компаратор:
Collections.sort(list, String.CASE_INSENSITIVE_ORDER);
Проблема CaseInsensitiveComparator состоит в том, что "AA" равно "aa". Строки появляются в результате в соответствии с порядком добавления для тех же значений, и это неверно:
"aa","AA","Aa","development","Development"