我有一个包含学生对象的 ArrayList(姓名、数学中的标记、物理中的标记)。如何对 ArrayList 进行排序并使用第一个最高的数字进行编辑,然后是第二高的数字,然后是第三高的数字,依此类推。例如,我有以下对象值:
ArrayList<> allStudents = new ArrayList();
allStudents.add(new Student("A", 80, 94) );
allStudents.add(new Student("B", 98, 91) );
allStudents.add(new Student("F", 70, 84) );
allStudents.add(new Student("C", 98, 92) );
allStudents.add(new Student("H", 99, 93) );
我将寻找编号最高的学生,我得到了 H。我编辑对象,如:“H”、97、90 并将其保存回 ArraList。我再次寻找第二高的,但这里有学生“B”和“C”,我可以看到他们在数学中的数字相同,但在物理中 C 的数字最高,所以我将编辑“C”、96、90 并将其保存回ArrayList等等。这里哪个学生已经编辑过,我不会获取它们进行编辑并保存等等。如果有人请帮助我!提前致谢
最佳答案
为您的学生对象实现一个 Comparable 接口(interface)并指定您希望它如何进行比较。
这是一个很好的例子: http://www.mkyong.com/java/java-object-sorting-example-comparable-and-comparator/
关于java - 如何从 Java 对象/ArrayList 中排序并获取最高值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24026343/