黑马程序员————TreeSet实例

来源:互联网 发布:微电阻测试仪单片机 编辑:程序博客网 时间:2024/04/28 20:49
声明类Student,包含3个成员变量:name、age、score,创建5个对象装入TreeSet,

 按照成绩排序输出结果(考虑成绩相同的问题)

代码如下:

/** *第十题: 声明类Student,包含3个成员变量:name、age、score,创建5个对象装入TreeSet, * 按照成绩排序输出结果(考虑成绩相同的问题)。 * @author 莫泊桑 */ class Student implements Comparable<Object>{private String name;    private int score;private int age;Student(String name,int score,int age){this.name=name;this.score=score;this.age=age;}public String getVolue(){return "姓名:"+name+" ,成绩:"+score+" ,年龄:"+age;}//重写compare方法/** * 比较学习成绩 * @param 接收一个Object参数 * @return 返回一个整型值*/public int compareTo(Object o){Student s=(Student) o;int result=score<s.score?1:(score==s.score?0:-1);if(result==0){result=this.name.compareTo(s.name);//如果成绩相同,比较姓名}return result;}}public class Text10 {public static void main(String[] args) {// TODO Auto-generated method stubTreeSet<Student> ts=new TreeSet<Student>();ts.add(new Student("李三",95,17));ts.add(new Student("李四",96,16));ts.add(new Student("李五",94,18));ts.add(new Student("李六",95,16));ts.add(new Student("李七",100,19));    Iterator<Student> it=ts.iterator();while(it.hasNext()){Student s=(Student)it.next();System.out.println(s.getVolue());}}}


0 0
原创粉丝点击