Sobes.tech
Junior — Middle

W jakim wzorcu projektowym używa się klasy Comparator do porównywania obiektów?

sobes.tech AI

Odpowiedź od AI

Klasa Comparator w Javie jest stosowana w wzorcu projektowym Strategia.

Comparator implementuje interfejs, który określa strategię porównywania obiektów. Pozwala to na zmianę metody porównania bez modyfikacji samych klas obiektów.

Na przykład, jeśli masz listę obiektów i chcesz je sortować według różnych kryteriów, możesz utworzyć różne implementacje Comparator i przekazać je do metod sortowania:

List<Person> people = ...;

// Sortowanie według imienia
Comparator<Person> byName = (p1, p2) -> p1.getName().compareTo(p2.getName());

// Sortowanie według wieku
Comparator<Person> byAge = Comparator.comparingInt(Person::getAge);

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

W ten sposób, Comparator pozwala na elastyczne zmienianie algorytmu porównania, co odpowiada wzorcowi Strategia.