黑马程序员技术交流社区
标题:
自己为Student类(name, age,score)写了一个比较器
[打印本页]
作者:
贾浩田
时间:
2014-10-16 14:15
标题:
自己为Student类(name, age,score)写了一个比较器
class myComparator implements Comparator<Student>{
@Override
public int compare(Student o1, Student o2) {
// TODO Auto-generated method stub
int num_score = new Integer(o1.getScore()).compareTo(new Integer(o2.getScore()));//比较成绩
int num_name = o1.getName().compareTo(o2.getName());
int num_age = new Integer(o1.getAge()).compareTo(new Integer(o2.getAge()));
if(num_score == 0){ //如果成绩相同
if(num_name == 0){
if(num_age == 0){
return 0;
}
else{
return num_age;
}
}
else{
return num_name;
}
}
else{
if(num_name == 0){
if(num_age == 0){
return 0;
}
else{
return num_score;
}
}
else{
return num_score;
}
}
}
}
复制代码
先按照分数排序,如果分数相同则按照姓名排序,如果姓名相同则按照年龄排序。如果分数不同,则也需要想死的逻辑判断。但是感觉这个比较器看着好不爽。有没有更简便的方法啊
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2