Сопоставимый класс сравнивает строки на основе длины или значения ascii? Джава

У меня есть файл строк, который выглядит так:

IX: {Series|(}              {2}
IX: {Series!geometric|(}    {5}
...

Я написал двоичный класс дерева поиска, и теперь я пытаюсь расположить строки в алфавитном порядке. Строки должны быть в алфавитном порядке, потому что общая задача, которую я делаю, - создание индекса (индекса в конце книги). Я хочу знать, сравнивает ли сопоставимый класс строки на основе значения ascii или длины строки? Если он основан на длине, как я могу расположить эти строки в алфавитном порядке?

Спасибо

1 ответ

Решение

Предполагая, что вы имеете в виду Arrays.sort() или же Collections.sort() ответ - ни то, ни другое. Строки упорядочены по лексикографическому / словарному (алфавитному) порядку.

Пример:

    String[] arr = {"bc", "bcc", "ab", "abc", "a", "bbc", "bb"};
    Arrays.sort(arr);
    System.out.println(Arrays.toString(arr)); // prints [a, ab, abc, bb, bbc, bc, bcc]
Другие вопросы по тегам