Вот несколько объяснений:
Лексикографический
В этом случае вы сортируете текст без учета чисел. На самом деле числа - это просто «буквы», они не имеют числового комбинированного значения.
Это означает, что текст "ABC123" сортируется как буквы A, B, C, 1, 2 и 3, а не как A, B, C, а затем как 123.
К сожалению, это приводит к тому, что упорядочивание вещей, которые могут выглядеть , как будто они должны упорядочиваться, как числа, не делает.
Например, при сортировке этих двух:
ABC90
ABC100
Можно ожидать, что тот, у кого 90, будет отсортирован до 100, потому что 90 идет до 100, но это не так, как работает лексикографическое упорядочение, он сравнивает 9 с 1, а затем меняет их местами.
Естественный порядок
Это порядок, при котором вышеуказанный порядок будет работать правильно, путем сортировки 90 до 100. Естественный порядок переключается на числовой порядок для части текста, если встречаются числа в обоих текстах.
Порядок на основе сопоставления
Этот обрабатывает такие вещи, как различия между языками.
Обычно лексикографический порядок сравнивает одну букву с другой и определяет их порядок, обычно в соответствии со «значением» буквы. Это может иметь некоторые странные эффекты.
Например, как вы думаете, будут ли заказаны следующие две строки?
ABCTEN
ABCßEN
Что ж, поскольку буква для ß может иметь порядковое значение (т. Е. Ее «место» в алфавите Unicode), которое имеет более высокое значение, чем T, вышеприведенный порядок - это то, что будет результатом. По сути, если вы посмотрите на таблицу Unicode, которая содержит все буквы, вы можете обнаружить, что T имеет значение символа меньше 100, а значение ß выше 100.
Однако в Германии вы должны рассмотреть два приведенных выше текста следующим образом:
ABCTEN
ABCSSEN
и, следовательно, их порядок должен быть обратным, поскольку S предшествует T.
Это порядок сортировки. Вы выбираете сопоставление для вашего текста, который описывает контекст, в котором эти тексты должны быть обработаны. Это позволяет вам получить естественный порядок на разных языках.
Например, в Норвегии буквы Æ, Ø и Å ранжируются как идущие непосредственно после Z, однако на других языках (я забыл, какой), Æ следует ранжировать сразу после E, Ø сразу после O и Å просто после А. Сличение диктует это.