Junior — Middle
Java-da Comparator və Comparable interfeysləri arasındakı fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Java-da Comparable və Comparator interfeysləri obyektləri müqayisə etmək üçün istifadə olunur, lakin müxtəlif məqsədlərə xidmət edir:
-
Comparable — obyektlərin təbii sırasını müəyyən edir. Bu interfeysi həyata keçirən sinif, obyektlərin
compareTo()metodu ilə müqayisə olunmasına imkan verir. Adətən, standart sıralama üçün istifadə olunur. -
Comparator — iki obyekti müqayisə etmək üçün alternativ üsul müəyyən edən ayrıca obyektdir. Obyektləri müxtəlif meyarlar üzrə sıralamaq və ya sinif
Comparable-ı həyata keçirmədikdə istifadə olunur.
Nümunə:
class Person implements Comparable<Person> {
String name;
int age;
public int compareTo(Person other) {
return this.name.compareTo(other.name); // təbii sıralama ad üzrə
}
}
// Yaş üzrə sıralama üçün Comparator
Comparator<Person> ageComparator = new Comparator<Person>() {
public int compare(Person p1, Person p2) {
return Integer.compare(p1.age, p2.age);
}
};
Beləliklə, Comparable sinif daxilində müqayisə üsulunu müəyyən edir, Comparator isə çoxsaylı xarici müqayisə üsulları yaratmağa imkan verir.