package JB2015;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Comparator;
import java.util.Iterator;
import java.util.TreeSet;
public class StudentDemo4 {
public static void main(String[] args) throws IOException {
TreeSet<Student1> treeSet = new TreeSet<>(new Comparator<Student1>() {
@Override
public int compare(Student1 o1, Student1 o2) {
int num = o1.gethe() - o2.gethe();//成绩按高到低
//次要条件
int num1 = num == 0 ? o1.getChinese() - o2.getChinese() : num;//如果总成绩相同按语文成绩
int num2 = num1 == 0 ? o1.getMath() - o2.getMath() : num1;//
int num3 = num2 == 0 ? o1.getEnglish() - o2.getEnglish() : num2;
return num3;
}
});
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter("D:\\untitled\\src\\JB2015\\q2"));
Student1 student1 = new Student1("zhangsan", 11, 23, 12);
Student1 student2 = new Student1("lisi", 12, 23, 93);
Student1 student3 = new Student1("wangwu", 11, 21, 92);
Student1 student4 = new Student1("mazi", 14, 23, 12);
Student1 student5 = new Student1("dianzi", 71, 93, 42);
treeSet.add(student1);
treeSet.add(student2);
treeSet.add(student3);
treeSet.add(student4);
treeSet.add(student5);
Iterator<Student1> iterator = treeSet.iterator();//定义一个迭代器
while (iterator.hasNext()) {
Student1 s= iterator.next();//用迭代器遍历集合
bufferedWriter.write(s.getName()+" "+s.gethe()+" "+s.getEnglish()+" "+s.getMath()+" "+s.getChinese());
bufferedWriter.newLine();//换行
bufferedWriter.flush();//刷新
}
bufferedWriter.close();//关闭流
}
}
【无标题】集合到文件TreeSet排序改进版
最新推荐文章于 2024-09-13 21:40:38 发布