当前位置: 代码迷 >> J2SE >> 对象排序,该如何处理
  详细解决方案

对象排序,该如何处理

热度:173   发布时间:2016-04-24 12:11:03.0
对象排序
ArrayList<Student> list=new ArrayList<Student>();
Student a=new Student("胖胖",20,90.5);
Student b=new Student("刘静",20,92.5);
Student c=new Student("苏凯",20,80.5);
Student d=new Student("许三多",20,90.5);
Student e=new Student("成才",20,90.5);
list.add(a);
list.add(b);
list.add(c);
list.add(d);
list.add(e);


按成绩排序,从高到低

------解决方案--------------------
Java code
import java.util.ArrayList;import java.util.Collections;public class StudentRanging {    public static void main(String[] args) {        ArrayList<Student> list=new ArrayList<Student>();        Student a=new Student("胖胖",20,90.5);        Student b=new Student("刘静",20,92.5);        Student c=new Student("苏凯",20,80.5);        Student d=new Student("许三多",20,90.5);        Student e=new Student("成才",20,90.5);        list.add(a);        list.add(a);        list.add(b);        list.add(c);        list.add(d);        list.add(e);        Collections.sort(list);        for(Student s:list){            System.out.println("info:"+s);        }    }}class Student implements Comparable{    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    @Override    public String toString() {        return "Student{" +                "name='" + name + '\'' +                ", age=" + age +                ", score=" + score +                '}';    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }    public double getScore() {        return score;    }    public void setScore(double score) {        this.score = score;    }    private String name;    private int age;    Student(String name, int age, double score) {        this.name = name;        this.age = age;        this.score = score;    }    private double score;    @Override    /**     * 实现按照成绩降序排序     */    public int compareTo(Object o) {        Student s=(Student)o;        int result=0;        if(this.score>s.getScore())           result=-1;        if(this.score<s.getScore())           result=1;        return result;     }}
  相关解决方案