java - 如何从 Java 对象/ArrayList 中排序并获取最高值

标签 java object arraylist

我有一个包含学生对象的 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/

相关文章:

java - 当对字符串使用 Compareto 时始终返回 10

java - 为什么我们需要在 Java 中的 ArrayList 上使用迭代器?

java - 如何在 ArrayList 的 Arraylist 中添加和检索值

java - 如何从 ExpandableListView 获取特定 View ?

Java - 在使用 JButton 执行时暂停线程池

javascript - 计算另一个对象中匹配的对象

javascript - 在 JavaScript 中将键数组和值数组合并到一个对象中

java - ArrayList.remove() 没有删除对象

java - Ear 不是使用 maven-ear-plugin 在 Jenkins 上构建的

object - 值对象内部的业务逻辑