zoukankan      html  css  js  c++  java
  • Map排序

    小明本学期学习了7门课,分数分别是 语文90 数学 91 地理 88 物理 99 化学 78 生物 60 外语 80,请用java实现以下结果,并打印输出
     1、 把小明本学期的所有成绩按照从高到低排序,并打印输出
     2、 计算小明的所有科目的平均分,保留整数(四舍五入),并打印输出
     3、 计算小明分数排名第2的科目名称和分数排名倒数第2的科目,打印输出科目名称

    Map<String,Integer> map = new HashMap<String, Integer>();
            map.put("语文", 90);
            map.put("数学", 91);
            map.put("地理", 88);
            map.put("物理", 99);
            map.put("化学", 78);
            map.put("生物", 60);
            map.put("外语", 80);
            
            for(Map.Entry<String,Integer> m : map.entrySet()){
                System.out.println(m.toString());
            }
            System.out.println("-----------排序后:---------");
            
            
            List<Map.Entry<String,Integer>> list = new ArrayList<Map.Entry<String,Integer>>(map.entrySet());
            Collections.sort(list,new Comparator<Map.Entry<String,Integer>>(){
                public int compare(Map.Entry<String,Integer> c1,Map.Entry<String,Integer> c2){
                    return c2.getValue().compareTo(c1.getValue());
                }
            });
            
            for(int i=0;i<list.size();i++){
                String obj = list.get(i).toString();
                System.out.println(obj);
            }
            System.out.println("-----------平均分:---------");
            Integer count = 0;
            int n = 0;
            for(Map.Entry<String,Integer> m : map.entrySet()){
                Integer value = m.getValue();
                count = count+value;
                n++;
            }
            System.out.println(new DecimalFormat("#0").format(count/n));
            System.out.println("----------排名顺数第二的科目:----------");
            for(int i=0;i<list.size();i++){
                if(i == 1){
                    Map.Entry<String,Integer> m = list.get(i);
                    System.out.println(m.getKey());
                }
            }
            System.out.println("---------排名倒数第二的科目:-----------");
            for(int i=list.size()-1;i>=0;i--){
                if(i == list.size()-2){
                    Map.Entry<String,Integer> m = list.get(i);
                    System.out.println(m.getKey());
                }
            }
  • 相关阅读:
    MuJS官网示例讲解
    Windows下用Bochs编译运行Linux-0.11(转)
    mysql数据库设置远程连接权限
    Courses in Computer Science and Engineering
    docker-ce 安装和卸载
    实现自定义docker 镜像共享
    cmakelists.txt中配置openg环境出现: undefined reference to symbol 'glLightfv'
    ubuntu16.04如何查看内存和CPU的使用情况
    ROS
    QT_OPENGL-------- 5.model
  • 原文地址:https://www.cnblogs.com/xuanzai/p/3666443.html
Copyright © 2011-2022 走看看