Естественный порядок
Это зависит от того, какие коллекции мы используем, например, у нас есть объект символов, тогда естественный порядок - это их значения в Юникоде, для чисел естественный порядок, как обычно, в порядке возрастания
Comparable Interface - этот интерфейс накладывает полное упорядочение на объекты каждого класса, который его реализует.Это упорядочение называется естественным упорядочением класса, а метод CompareTo класса - его естественным методом сравнения.
Списки (и массивы) объектов, которые реализуют этот интерфейс, могут автоматически сортироваться Collections.sort.(и Arrays.sort).Объекты, которые реализуют этот интерфейс, могут использоваться как ключи в отсортированной карте или элементы в отсортированном наборе, без необходимости указывать компаратор.
public interface Comparable<T> {
/**
* Compares this object with the specified object for order. Returns a
* negative integer, zero, or a positive integer as this object is less
* than, equal to, or greater than the specified object.
*/
public int compareTo(T o);
}
Интерфейс компаратора:
Этот интерфейс Представляетотношение порядка, которое может использоваться для сортировки списка или поддержания порядка в отсортированном наборе или карте.Может переопределять естественное упорядочение типа или упорядочивать объекты типа, который не реализует интерфейс Comparable.
Функция сравнения, которая накладывает общее упорядочение на «некоторую коллекцию объектов».Компараторы могут быть переданы в метод сортировки (например, Collections.sort), чтобы обеспечить точный контроль над порядком сортировки.Компараторы также могут использоваться для управления порядком определенных структур данных (таких как TreeSet или TreeMap).
public interface Comparator<T> {
/**
* Compares its two arguments for order. Returns a negative integer,
* zero, or a positive integer as the first argument is less than, equal
* to, or greater than the second.
*/
int compare(T o1, T o2);
boolean equals(Object obj);
}
Hope This helps you.