как TreeSet сортирует числа в виде строк, например «123», «234»; - PullRequest
0 голосов
/ 05 июня 2018

Это мой код для примера эксперимента

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]

Как сортируются объекты и на каком основании?

Спасибо

Ответы [ 2 ]

0 голосов
/ 05 июня 2018

Согласно документам :

Элементы упорядочены с использованием их естественного упорядочения или с помощью компаратора, предоставляемого во время создания набора, в зависимости от того, какой конструктор используется.

Здесь - это описание интерфейса Comparable, который используется для определения порядка объекта.

0 голосов
/ 05 июня 2018

Treeset сортирует число в виде строки в лексикографическом порядке.Пример: если вы вставите числа в следующем порядке:

 [ 12 , 2434 , 23 , 1 , 654 , 222 , 56 , 100000 ]

, тогда результат будет:

[ 1 , 100000 , 12 , 222 , 23 , 2434 , 56 , 654 ]
...