РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
358 of 1163 menu

Метод compareTo

Метод compareTo является единственным абстрактным методом интерфейса Comparable. Он используется для определения естественного порядка сортировки объектов. В качестве параметра метод принимает один объект того же типа, с которым нужно сравнить текущий объект. Возвращаемое значение имеет тип int и может быть следующим:

  • отрицательное число - текущий объект меньше переданного;
  • ноль - объекты равны;
  • положительное число - текущий объект больше переданного.

Синтаксис

public int compareTo(T o)

Пример

Давайте создадим класс Person, реализующий интерфейс Comparable, и сравним двух людей по возрасту:

class Person implements Comparable<Person> { String name; int age; Person(String name, int age) { this.name = name; this.age = age; } @Override public int compareTo(Person other) { return this.age - other.age; } } public class Main { public static void main(String[] args) { Person p1 = new Person("Alice", 30); Person p2 = new Person("Bob", 25); System.out.println(p1.compareTo(p2)); System.out.println(p2.compareTo(p1)); System.out.println(p1.compareTo(p1)); } }

Результат выполнения кода:

5 -5 0

Пример

Теперь сравним строки, используя встроенную реализацию метода compareTo в классе String:

public class Main { public static void main(String[] args) { String str1 = "abcde"; String str2 = "abcdf"; System.out.println(str1.compareTo(str2)); System.out.println(str2.compareTo(str1)); System.out.println(str1.compareTo(str1)); } }

Результат выполнения кода:

-1 1 0

Смотрите также

  • интерфейс Comparable,
    который определяет естественный порядок объектов
  • интерфейс Comparator,
    который позволяет задавать внешний порядок сортировки
  • метод compare,
    который сравнивает два объекта в Comparator
  • интерфейс Iterable,
    который позволяет перебирать элементы коллекции
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить