学生类
package myselftrain4;
public class Student implements Comparable<Student>{
private int code;
private String name;
private int grade;
public Student(int code,String name,int grade) {
this.code = code;
this.name = name;
this.grade = grade;
}
public int getcode() {
return code;
}
public String getname() {
return name;
}
public int getgrade() {
return grade;
}
public String toString() {
return " name: "+this.getname()+" code: "+this.getcode()+" grade: "+this.getgrade()+"\n";
}
public int compareTo(Student stu) {
if(this.grade > stu.grade) {
return 1;
}
else if(this.grade < stu.grade) {
return -1;
}
else {
return this.name.compareTo(name);
}
}
}
定义三个属性:学号、姓名、成绩。然后用构造方法赋值,用get方法取得值,此类中最重要就是比较器的实现,首先比较成绩,然后增加名字的比较。方便后面TreeSet接口的排序。
主函数
package myselftrain4;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeSet;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
Set<Student> allset = new TreeSet<Student>();
int i=1;
while(i <= 5) {
int a = in.nextInt();
String b = in.next();
int c = in.nextInt();
allset.add(new Student(a,b,c));
i++;
}
System.out.println(allset);
}
}
主函数中首先实例化Set接口对象,然后用while循环来进行输入,然后用List的add()方法来添加元素,最后输出集合,用toString来实现。TreeSet接口完成了排序并将排序后的结果显示到了屏幕上。