2 回答
TA贡献1828条经验 获得超3个赞
我不是在解决这个问题,因为在我看来,您正在尝试(错综复杂地)做一些已经在 Java 中定义的事情。当您创建一个类,并且必须管理该类的对象数组时,Java 提供了一种非常简单的方法来做到这一点,我将逐步解释我将在您的位置上做什么:
1 - 首先要做的是定义属于该类的对象之间的比较,您可以通过覆盖compareTo该类的方法来实现(该类必须实现Comparable <YourObject>);在你的情况下,我想它应该是这样的:
public class StudentListings implements Comparable<StudentListings>{
...
@Override
public int compareTo(StudentListings element){
return ...;
}
}
您可以在其中定义一个StudentListing对象何时大于另一个对象。
2 - 第二件事是ArrayList<StudentListings>在你的 中定义一个main,并初始化它:
ArrayList<StudentListings> yourArray = new ArrayList<>();
3 - 然后你必须将元素添加到该数组中(显然在你初始化它们之后):
yourArray.add(test);
yourArray.add(test9);
yourArray.add(test10);
4 - 现在你有你的数组,没有排序,要排序你只需要调用该方法
Collections.sort(yourArray);
现在您已经对 StudentListings 的 ArrayList 进行了排序。
还有另一种方法可以实现这个结果,这里描述,我不太喜欢它,因为使用这种方法你必须在每次需要对数组进行排序时重新定义比较,并且因为你的main代码结果更复杂,但它有我解释的步骤的结果相同(因此,如果您必须以不同的方式对同一类对象的两个不同数组进行排序,例如一个按学生姓名,另一个按学生姓氏排序,则链接方法很有用)。
添加回答
举报