Как сортируют числа TreeSet как строки, например "123", "234";

rathangangaa спросил: 12 мая 2018 в 04:30 в: sorting

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

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 ответа

amrender singh ответил: 12 мая 2018 в 04:35

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

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

Затем вывод будет:

[ 1 , 100000 , 12 , 222 , 23 , 2434 , 56 , 654 ]
Hassan ответил: 12 мая 2018 в 04:40

В соответствии с документами:

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

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