مصانع Comparator والترتيب السلس
أنشئ قواعد ترتيب مقروءة وقابلة للتركيب باستخدام دوال مصنع Comparator.
مقارنة الكود
✕ Anonymous comparator
people.sort(new Comparator<Person>() {
@Override
public int compare(Person a, Person b) {
int byName = a.name().compareTo(b.name());
return byName != 0 ? byName : Integer.compare(a.age(), b.age());
}
});
✓ Java 8+
people.sort(Comparator.comparing(Person::name)
.thenComparingInt(Person::age));
هل ترى مشكلة في هذا الكود؟ أخبرنا.
لماذا يتفوق الأسلوب الحديث
قابل للتركيب
تتسلسل قواعد الترتيب بصورة طبيعية.
أسهل في المراجعة
مفاتيح الفرز وأولوياتها واضحة.
مقارنات أكثر أماناً
تتجنب الدوال المساعدة المتخصصة مقارنات الحساب المعرّضة للأخطاء.
الأسلوب القديم
Comparator مجهول
الأسلوب الحديث
مصانع Comparator
منذ JDK
8
الصعوبة
مبتدئ
دعم JDK
مصانع Comparator والترتيب السلس
متاح
متاح منذ JDK 8 (مارس 2014)
كيف يعمل
تعبّر مصانع Comparator عن الترتيب تصريحياً، وتُركّب المفاتيح الأساسية والثانوية دون كتابة تفرعات يدوية.
توثيق ذو صلة
إثبات