標題:
自訂排序 (二)
[打印本頁]
作者:
李泳霖
時間:
2023-1-13 19:58
標題:
自訂排序 (二)
本帖最後由 李泳霖 於 2023-3-18 09:54 編輯
承上題,以陣列取代原本的集合,陣列中包含五個 Student 物件,以 Arrays 類別下的 sort() 方法搭配自定的比較器,分別完成「依座號遞增排序」及「依分數遞減排序」之操作練習。
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public class P4 {
Student stu[]=new Student[5];
P4()
{
stu[0]=new Student(4, 60, "大雄");
stu[1]=new Student(1, 90, "小叮噹");
stu[2]=new Student(3, 100, "宜靜");
stu[3]=new Student(2, 70, "阿福");
stu[4]=new Student(5, 20, "技安");
System.out.println("原始資料");
show();
/*Collections.sort(al,new MyComparator1());
System.out.println("依座號遞增:");
show();
Collections.sort(al,new MyComparator2());
System.out.println("依成績遞減:");
show();*/
}
void show()
{
System.out.println("座號\t姓名\t分數");
System.out.println("----------------------");
for (int i = 0; i < stu.length; i++) {
System.out.println(stu[i].n+"\t"+stu[i].name+"\t"+stu[i].s+"\t");
}
}
class MyComparator1 implements Comparator<Student>
{
public int compare(Student o1, Student o2) {
// TODO 自動產生的方法 Stub
return o1.n-o2.n;
}
}
class MyComparator2 implements Comparator<Student>
{
@Override
public int compare(Student o1, Student o2) {
// TODO 自動產生的方法 Stub
return o2.s-o1.s;
}
}
class Student
{
int n,s;
String name;
Student(int n,int s,String name)
{
this.n=n;
this.name=name;
this.s=s;
}
}
public static void main(String[] args) {
new P4();
}
}
複製代碼
作者:
李泳霖
時間:
2023-1-13 19:59
此帖僅作者可見
作者:
張淯祺
時間:
2023-3-11 12:00
此帖僅作者可見
作者:
張淯祺
時間:
2023-3-18 10:50
此帖僅作者可見
作者:
王銘鴻
時間:
2023-3-18 10:50
此帖僅作者可見
作者:
曾宥程
時間:
2023-3-18 10:53
此帖僅作者可見
作者:
林羿丞
時間:
2023-3-18 10:53
此帖僅作者可見
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/)
Powered by Discuz! 7.2