Для этого вам не нужен TreeSet <>. Вы можете использовать LinkedHashSet <> ().
List<Integer> list = new ArrayList<>(List.of(10,3,2,2,1,20,40,2));
Set<Integer> set1 = new LinkedHashSet<>();
set1.addAll(list);
За исключением удаленных дубликатов, порядок сохраняется.
System.out.println("set1 = " + set1);
System.out.println("list = " + list);
Но для TreeSet
набор сортируется по natural order
объектов.
Set<Integer> set2 = new TreeSet<>();
set2.addAll(list);
list.sort(Comparator.naturalOrder());
Опять же, порядок тот же, но отсортированный. TreeSet
по умолчанию используется для естественной сортировки. Для List.sort()
, comparator
должен быть предоставлен.
System.out.println("set2 = " + set2);
System.out.println("list = " + list);