Back to questions
Junior — Middle
80
В каком паттерне проектирования применяется класс Comparator для сравнения объектов?
Answer from AI
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 позволяет гибко менять алгоритм сравнения, что соответствует паттерну Стратегия.