Добрый день. Имеется заполненный ArrayList (например list1). Как создать новый ArrayList (list2), который будет копией list1, но отсортированным?
TreeSet уберёт все дупликаты и отсортирует ваш исходный список.
ArrayList<String> list = new ArrayList<>();
list.add("three");
list.add("three");
list.add("two");
list.add("one");
TreeSet<String> set = new TreeSet<>(list);
System.out.println(list); // [three, three, two, one]
System.out.println(set); // [one, three, two]
Или так (без потери дупликатов):
ArrayList<String> list = new ArrayList<>();
list.add("three");
list.add("two");
list.add("one");
ArrayList<String> copyOfList = new ArrayList<>(list);
copyOfList.sort(Comparator.naturalOrder());
System.out.println(list); // [three, three, two, one]
System.out.println(copyOfList); // [one, three, three, two]
Сборка персонального компьютера от Artline: умный выбор для современных пользователей