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());
                }
            }
  • 相关阅读:
    Nginx.conf 配置文件详细说明
    CentOs中iptables配置允许mysql远程访问
    CentOS 6.4下编译安装MySQL 5.6.14
    CentOS6.4下Mysql数据库的安装与配置
    让nginx支持.htaccess文件实现伪静态的方法!
    MySQL导入.sql文件及常用命令
    PHP里10个鲜为人知但却非常有用的函数
    Nginx配置文件详细说明
    linux 开机启动nginx
    Redhat系列使用ISO或者光盘制作yum本地安装源
  • 原文地址:https://www.cnblogs.com/xuanzai/p/3666443.html
Copyright © 2011-2022 走看看