2 回答

TA貢獻(xiàn)1828條經(jīng)驗 獲得超3個贊
我不是在解決這個問題,因為在我看來,您正在嘗試(錯綜復(fù)雜地)做一些已經(jīng)在 Java 中定義的事情。當(dāng)您創(chuàng)建一個類,并且必須管理該類的對象數(shù)組時,Java 提供了一種非常簡單的方法來做到這一點(diǎn),我將逐步解釋我將在您的位置上做什么:
1 - 首先要做的是定義屬于該類的對象之間的比較,您可以通過覆蓋compareTo該類的方法來實(shí)現(xiàn)(該類必須實(shí)現(xiàn)Comparable <YourObject>);在你的情況下,我想它應(yīng)該是這樣的:
public class StudentListings implements Comparable<StudentListings>{
...
@Override
public int compareTo(StudentListings element){
return ...;
}
}
您可以在其中定義一個StudentListing對象何時大于另一個對象。
2 - 第二件事是ArrayList<StudentListings>在你的 中定義一個main,并初始化它:
ArrayList<StudentListings> yourArray = new ArrayList<>();
3 - 然后你必須將元素添加到該數(shù)組中(顯然在你初始化它們之后):
yourArray.add(test);
yourArray.add(test9);
yourArray.add(test10);
4 - 現(xiàn)在你有你的數(shù)組,沒有排序,要排序你只需要調(diào)用該方法
Collections.sort(yourArray);
現(xiàn)在您已經(jīng)對 StudentListings 的 ArrayList 進(jìn)行了排序。
還有另一種方法可以實(shí)現(xiàn)這個結(jié)果,這里描述,我不太喜歡它,因為使用這種方法你必須在每次需要對數(shù)組進(jìn)行排序時重新定義比較,并且因為你的main代碼結(jié)果更復(fù)雜,但它有我解釋的步驟的結(jié)果相同(因此,如果您必須以不同的方式對同一類對象的兩個不同數(shù)組進(jìn)行排序,例如一個按學(xué)生姓名,另一個按學(xué)生姓氏排序,則鏈接方法很有用)。
添加回答
舉報