package com.package1;
import java.util.*;
public class StuScore {
public static void main(String[] args) {
TreeSet<Student> ts=new TreeSet<Student>(new Com());
//添加元素進去
for(int i=20070301,j=1;i<=20070330;i++,j++)
{
ts.add(new Student(i,"同學"+j,"男",(int) (40*Math.random()+60)));
}
//迭代循環取出
Iterator<Student> it=ts.iterator();
while(it.hasNext())
{
Student o1=it.next();
System.out.println("學號:"+o1.num+" "+"姓名:"+o1.name+" "+"性別:"+o1.sex+" "+"成績:"+o1.grade);
}
}
}
//學生類
class Student
{
int num;
int grade;
String name;
String sex;
public Student(int num, String name, String sex, int grade)
{
this.num=num;
this.name=name;
this.sex=sex;
this.grade=grade;
}
}
class Com implements Comparator
{
@Override
public int compare(Object o1, Object o2) {
Student s1=(Student) o1;
Student s2=(Student) o2;
if(s1.grade>s2.grade)
return 1;
if(s1.grade<s2.grade)
return -1;
if(s1.grade==s2.grade)
{
return new Integer(s1.num).compareTo(new Integer(s2.num));
}
return 0;
}
}
打印結果:
學號:20070307 姓名:同學7 性別:男 成績:62
學號:20070314 姓名:同學14 性別:男 成績:68
學號:20070324 姓名:同學24 性別:男 成績:68
學號:20070305 姓名:同學5 性別:男 成績:70
學號:20070303 姓名:同學3 性別:男 成績:71
學號:20070319 姓名:同學19 性別:男 成績:71
學號:20070323 姓名:同學23 性別:男 成績:74
學號:20070328 姓名:同學28 性別:男 成績:75
學號:20070310 姓名:同學10 性別:男 成績:76
學號:20070325 姓名:同學25 性別:男 成績:77
學號:20070329 姓名:同學29 性別:男 成績:77
學號:20070308 姓名:同學8 性別:男 成績:78
學號:20070321 姓名:同學21 性別:男 成績:78
學號:20070322 姓名:同學22 性別:男 成績:79
學號:20070326 姓名:同學26 性別:男 成績:80
學號:20070318 姓名:同學18 性別:男 成績:83
學號:20070320 姓名:同學20 性別:男 成績:83
學號:20070316 姓名:同學16 性別:男 成績:85
學號:20070311 姓名:同學11 性別:男 成績:86
學號:20070330 姓名:同學30 性別:男 成績:86
學號:20070312 姓名:同學12 性別:男 成績:87
學號:20070313 姓名:同學13 性別:男 成績:87
學號:20070309 姓名:同學9 性別:男 成績:88
學號:20070327 姓名:同學27 性別:男 成績:89
學號:20070315 姓名:同學15 性別:男 成績:93
學號:20070317 姓名:同學17 性別:男 成績:93
學號:20070301 姓名:同學1 性別:男 成績:94
學號:20070306 姓名:同學6 性別:男 成績:96
學號:20070304 姓名:同學4 性別:男 成績:97
學號:20070302 姓名:同學2 性別:男 成績:98