Junior — Middle
Ce șablon de proiectare este utilizat pentru a determina ordinea comparării obiectelor?
sobes.tech AI
Răspuns de la AI
Pentru a determina ordinea de comparare a obiectelor, se utilizează de obicei șablonul de proiectare Strategy (Strategie).
Acesta permite definirea unei familii de algoritmi de comparare, încapsularea fiecăruia dintre ei și utilizarea lor interschimbabilă.
În Java, acest lucru se implementează adesea prin interfața Comparator<T>, care stabilește o metodă de comparare a două obiecte.
Exemplu:
import java.util.*;
class Person {
String name;
int age;
Person(String name, int age) {
this.name = name;
this.age = age;
}
}
// Strategia de comparare după vârstă
class AgeComparator implements Comparator<Person> {
public int compare(Person p1, Person p2) {
return Integer.compare(p1.age, p2.age);
}
}
// Utilizare
List<Person> people = Arrays.asList(new Person("Alice", 30), new Person("Bob", 25));
Collections.sort(people, new AgeComparator());
Astfel, șablonul Strategy permite schimbarea logicii de comparare fără a modifica clasa obiectelor.