Sobes.tech
Назад к вопросам
Junior — Middle
81

В каком паттерне проектирования применяется класс Comparator для сравнения объектов?

Ответ от нейросети

sobes.tech AI

Класс Comparator в Java применяется в паттерне проектирования Стратегия (Strategy).

Comparator реализует интерфейс, который задаёт стратегию сравнения объектов. Это позволяет менять способ сравнения без изменения самих классов объектов.

Например, если у вас есть список объектов, и вы хотите сортировать их по разным критериям, вы можете создать разные реализации Comparator и передавать их в методы сортировки:

List<Person> people = ...;

// Сортировка по имени
Comparator<Person> byName = (p1, p2) -> p1.getName().compareTo(p2.getName());

// Сортировка по возрасту
Comparator<Person> byAge = Comparator.comparingInt(Person::getAge);

Collections.sort(people, byName);
Collections.sort(people, byAge);

Таким образом, Comparator позволяет гибко менять алгоритм сравнения, что соответствует паттерну Стратегия.