我按降序排序了我的arraylist,现在我要打印最大值。 arraylist包含学生的姓名和成绩。我想打印成绩最高的学生的名字。我不需要打印他们的成绩。只是这个名字。这是我的代码
public void printStudent(){
Collections.sort(studentList);
Collections.reverse(studentList);
System.out.println("Best student is: ");
for (Student s: studentList){
System.out.println(s.toString());
}
}
现在这会打印整个学生名单和他们的成绩但是我只想打印出成绩最高的学生的名字,我尝试了很多东西,但似乎无法得到它工作。谢谢!
答案 0 :(得分:5)
提示:
如果你按照升序对列表进行排序,那么最大的元素在哪里?
如果你然后反转列表,现在最大的元素在哪里?
如何获得列表的第N个元素? (Meta-hint ...阅读javadoc!)
答案 1 :(得分:3)
使用Collections.max而非排序。
答案 2 :(得分:0)
您已按相反的顺序对客户进行排序,然后最高等级应位于您收藏的第一个位置。
如下所示。
Customer c = customerList.get(0); // getting the first elementt
System.out.println(c.toString());
答案 3 :(得分:0)
您的Combarable界面如何设置? Collections.sort基于此。
因此,您可以打印customerList.get(customerList.size() - 1)以打印列表中的最后一个索引。 或者您可以打印customerList.get(0)
但正如我所说:这取决于您如何将客户与彼此进行比较。