• AJPFX关于TreeSet集合的介绍


    需求:键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低输出到控制台。分析:1、创建键盘录入对象;
              2、创建TreeSet集合,使用匿名内部类实现Comparator接口,重写compara方法
              3、判断集合中元素的个数,向其中添加元素
              4、遍历集合

    class Demo_TreeSet{
             public static void main(String[] args){
                    Scanner sc = new Scanner(System.in);
                    System.out.println("请输入学生成绩格式,语文成绩,数学成绩,英语成绩,总成绩");
                    TreeSet<Student> ts = new TreeSet<Student>(new Comparator<Student>{
                           public int compara( Student s1,Student s2);
                                      int num = s2.getSum() - s1.getSum();
                                      return num == 0 ? 1 : num;
                    });
                   while(ts.size()<5){
                        String line = sc.nextLine();                                       
                        String[] arr = line.Split(",");
                        int chinese = Integer.paserInt(arr[1]);
                        int math = Integer.paserInt(arr[2]);
                        int  english = Integer.paserInt(arr[3]);
                        ts.add(new Student(arr[0],chinese,math,english));
                    }
                    for(Student : s : ts){
                          System.out.println(s);
                     }
              }
    }
    class Student{
        private String name;
        private int chinses;
        private int math;
        private int enlish;

        public Student() {}



        public Student(String name, int chinese, int math, int english) {
                    super();
                    this.name = name;
                    this.chinese = chinese;
                    this.math = math;
                    this.english = english;
                    this.sum = this.chinese + this.math + this.english;
            }
            public int getSum() {
                    return sum;
            }
            
            public String toString() {
                    return name + "," + chinese + "," + math + "," + english + "," + sum;
            }
    }

  • 相关阅读:
    系统文件夹路径的系统宏定义
    大数问题:用字符串解决大数相加和相乘
    C++中四种类型转换方式(ynamic_cast,const_cast,static_cast,reinterpret_cast)
    浅谈bitmap算法
    linux分享一:网络设置
    php分享十六:php读取大文件总结
    面试题一:linux面试题
    php分享十五:php的命令行操作
    查询系统负载信息 Linux 命令详解
    Linux守护进程
  • 原文地址:https://www.cnblogs.com/AJPFX/p/10852162.html
Copyright © 2020-2023  润新知