java集合基于另一个集合排序

时间:2015-05-11 11:57:58

标签: java collections

我在接受采访时被问到这个问题:

---
title: "Test"
author: "Me"
date: "Today"
output: 
   slidy_presentation
---

## Test Slide
<ul>
 <li>One Bullet Point
</ul>

如何从获得第三高分的学生那里获得学生?

1 个答案:

答案 0 :(得分:0)

由于它们位于集合中,您还可以使用自定义比较器调用Collections.sort,如下所示:

   Collections.sort(studentList, new Comparator<Student>() {
       @Override
       public int compare(Student a, Student b) {
           double mark_a = Collections.max(a.marks);
           double mark_b = Collections.max(b.marks);
           return Double.compare(mark_a, mark_b);
       }
   });

然后你可以简单地归还第三个学生。 (您可能需要更改mark_a和mark_b的计算方法,具体取决于&#34;最高分数&#34;意味着......他们可能想要平均值)