【无标题】集合到文件TreeSet排序改进版

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();//关闭流

    }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值