Do Collections.sort
вместо subList
.
List<String> list = new ArrayList<String>(
Arrays.asList("Zzz...", "Two", "One", "Three")
);
Collections.sort(list.subList(1, list.size()));
System.out.println(list);
// "[Zzz..., One, Three, Two]"
API ссылки
subList(int fromIndex, int toIndex)
- Возвращает представление части этого списка между указанными
fromIndex
включительно и toIndex
эксклюзивом. Возвращенный список поддерживается этим списком, поэтому неструктурные изменения в возвращенном списке отражаются в этом списке, и наоборот. Возвращенный список поддерживает все необязательные операции списка, поддерживаемые этим списком.
Если специальный элемент не имеет индекса 0, просто поместите его туда, прежде чем сортировать следующим образом:
List<String> list = new ArrayList<String>(
Arrays.asList("Four", "Five", "Zzz...", "Two", "One", "Three")
);
Collections.swap(list, list.indexOf("Zzz..."), 0);
Collections.sort(list.subList(1, list.size()));
System.out.println(list);
// "[Zzz..., Five, Four, One, Three, Two]"
API ссылки