Это мой код для примера эксперимента
TreeSet ts = new TreeSet(); ts.add("A"); ts.add("Z"); ts.add("C"); ts.add("F"); ts.add("1"); ts.add("8"); ts.add("10000"); ts.add("999"); System.out.println(ts);
Вывод:
[1, 10000, 8, 999, A, C, F, Z]
Как сортируются объекты и на каком основании?
Спасибо
Согласно документам :
Элементы упорядочены с использованием их естественного упорядочения или с помощью компаратора, предоставляемого во время создания набора, в зависимости от того, какой конструктор используется.
Здесь - это описание интерфейса Comparable, который используется для определения порядка объекта.
Comparable
Treeset сортирует число в виде строки в лексикографическом порядке.Пример: если вы вставите числа в следующем порядке:
[ 12 , 2434 , 23 , 1 , 654 , 222 , 56 , 100000 ]
, тогда результат будет:
[ 1 , 100000 , 12 , 222 , 23 , 2434 , 56 , 654 ]