public class Student {
private String code;
private String name;
private String subject;
private int grade;
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public int getGrade() {
return grade;
}
public void setGrade(int grade) {
this.grade = grade;
}
public Student() {
}
public Student(String code, String name, String subject, int grade) {
this.code = code;
this.name = name;
this.subject = subject;
this.grade = grade;
}
@Override
public String toString() {
return "学生信息{" +
"code='" + code + '\'' +
", name='" + name + '\'' +
", subject='" + subject + '\'' +
", grade='" + grade + '\'' +
'}';
}
}
public abstract class Test implements Comparator<Student>{
public static void main(String[] args) {
List<Student> list = new ArrayList<Student>();
list.add(new Student("1","x1","y",23));
list.add(new Student("2","x2","y",21));
list.add(new Student("3","x3","y",22));
list.add(new Student("4","x4","y",25));
list.add(new Student("5","x5","y",27));
Collections.sort(list, new Comparator<Student>() {
@Override
public int compare(Student o1, Student o2) {
int grade1 = o1.getGrade();
int grade2 = o2.getGrade();
return grade2-grade1;
}
});
}
try {
FileOutputStream fos = new FileOutputStream("123.txt");
ObjectOutputStream oos = new ObjectOutputStream(fos);
FileInputStream fis = new FileInputStream("123.txt");
ObjectInputStream ois = new ObjectInputStream(fis);
oos.writeObject(list);
oos.writeBoolean(true);
oos.flush();
try {
List list1 = (List) ois.readObject();
System.out.println(list1);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
System.out.println(ois.readBoolean());
fos.close();
oos.close();
fis.close();
ois.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}