Сопоставимый класс сравнивает строки на основе длины или значения 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]