2012-07-13 1 views
-1

Код работает нормально и отображает результат в отсортированном виде. Может ли кто-нибудь объяснить, как сортировка выполняется в случае вышеперечисленных элементов String?Как происходит сортировка здесь и сравнение между кепкой и маленькими буквами?

Каким образом выход:

BBb4:BbB1:bBb2:bbB3: 
+0

Задайте вопрос по этому вопросу. Извините, но трудно понять, что вы спрашиваете. Вместо того, чтобы вставлять некоторый код с короткой запиской, попробуйте предоставить больше информации: какая проблема вы решаете, каково ваше намеренное решение, какие препятствия вы сталкиваетесь и т. Д. – Helgi

ответ

1

Предполагая, что я правильно понял ваш вопрос, это должно работать:

Collections.sort(list, String.CASE_INSENSITIVE_ORDER); 

String.CASE_INSENSITIVE_ORDER класс компаратор, который не принимает во внимание тот случай, когда сравнение строк.

0

Давайте начнем с the documentation for Collections.sort:

Сортирует указанный список в порядке возрастания, в соответствии с естественным порядком ее элементов.

Что такое натуральный заказ строки? String can tell us:

Сравнение проводится по значению Юникода каждого символа в строках.

И, конечно же, значение Юникода b выше, чем значение Юникода B.

Если вы хотите регистронезависимого рода, есть a form of sort, что берет Comparator и String услужливо предоставляет предварительно сделанный CASE_INSENSITIVE_ORDER компаратора.