您的位置:首页 > 编程语言 > Java开发

java程序——用集合框架实现学生类的排序输出

2016-11-29 13:05 337 查看
编写一个学生成绩管理程序。

要求:

1. 应用集合

2. 按成绩的高低输出学生信息。

(用java实现)

//导入包
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;

//因为是自定义类型,所以在排序时需要Comparable接口,用泛型编程,并实现compareTo方法
class Student implements Comparable<Student> {

//使用私有化定义,封装数据,体现了java的安全性
private String name;
private int id;
private int score;

public Student(String name, int id, int score) {
this.name = name;
this.id = id;
this.score = score;
}
public Student() {

}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
//改写toString方法
public String toString() {
return "姓名:" + name + "\t学号:" + id + "\t成绩:" + score;
}

public int compareTo(Student s) {
return this.id - s.id;
}
}

public class Test{

public static void main(String[] args) {
// TODO 自动生成的方法存根
//用ArrayList集合类编写储存数据
ArrayList<Student> students = new ArrayList<Student>();
students.add(new Student("wangtao", 20, 99));
students.add(new Student("hah", 21, 80));
students.add(new Student("sdfj", 19, 76));
Collections.sort(students);
//使用迭代器依次访问
Iterator<Student> iterator = students.iterator();
while(iterator.hasNext()) {
String string = iterator.next().toString();
System.out.println(string);
}
//自定义匿名类实现比较器
Comparator<Student> comparator = new Comparator<Student>() {

@Override
public int compare(Student o1, Student o2) {
// TODO 自动生成的方法存根
return o1.getScore() - o2.getScore();
}
};
Collections.sort(students, comparator);
//for—each循环
for(Student s: students)
System.out.println(s);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 框架
相关文章推荐