كتبت مثال فرز مجموعة Java ، هنا سأشاركه للجميع ليتعلم معًا
نسخة الكود كما يلي:
حزمة com.yonyou.test ؛
استيراد java.util.arraylist ؛
استيراد java.util.collections ؛
استيراد java.util.comparator ؛
استيراد java.util.list ؛
اختبار الفئة العامة {
الفراغ الثابت العام الرئيسي (سلسلة [] args) {
الطالب ZLJ = طالب جديد ("Ding Xiaoyu" ، 21) ؛
الطالب dxy = طالب جديد ("Zhao Si" ، 22) ؛
الطالب CJC = طالب جديد ("Zhang San" ، 11) ؛
الطالب LGC = طالب جديد ("Liu Wu" ، 19) ؛
قائمة <Tudture> StudentList = New ArrayList <Tudent> () ؛
StudentList.add (ZLJ) ؛
StudentList.add (dxy) ؛
StudentList.add (CJC) ؛
StudentList.add (LGC) ؛
System.out.println ("مرتبة حسب السنة:") ؛
collections.sort (StudentList ، New SortByage ()) ؛
ل (الطالب الطالب: الطالب) {
System.out.println (student.getName () + " /" + student.getage ()) ؛
}
System.out.println ("===========") ؛
System.out.println ("فرز بالاسم") ؛
collections.sort (StudentList ، New SortByName ()) ؛
ل (الطالب الطالب: الطالب) {
System.out.println (student.getName () + " /" + student.getage ()) ؛
}
}
}
فئة sortbyage تنفذ المقارنة {
int العامة مقارنة (الكائن O1 ، كائن O2) {
الطالب S1 = (الطالب) O1 ؛
الطالب S2 = (الطالب) O2 ؛
if (s1.getage ()> s2.getage ())
العودة 1 ؛
آخر if (s1.getage () == s2.getage ()) {
العودة 0 ؛
}
العودة -1 ؛
}
}
فئة sortbyName تنفذ المقارنة {
int العامة مقارنة (الكائن O1 ، كائن O2) {
الطالب S1 = (الطالب) O1 ؛
الطالب S2 = (الطالب) O2 ؛
if (s1.getName (). compareto (s2.getName ()) <0)
العودة -1 ؛
وإلا إذا
العودة 1 ؛
}
العودة 0 ؛
}
}
طالب الفصل {
عصر INT الخاص ؛
اسم السلسلة الخاصة ؛
الجمهور int getage () {
عودة العمر ؛
}
public void setage (int age) {
this.age = العمر ؛
}
السلسلة العامة getName () {
اسم العودة
}
public void setName (اسم السلسلة) {
this.name = name ؛
}
الطالب العام (اسم السلسلة ، العصر الباحث) {
this.age = العمر ؛
this.name = name ؛
}
}