• 奖牌榜排序


    知识点

    stream的sorted排序,按照顺序进行排序,先进行铜牌排序,再进行银牌排序,最后进行金牌排序。

    MedalInfo.java

    public class MedalInfo {
    
        /**
         * 国家名称
         */
        private String countryName;
    
        /**
         * 金牌数量
         */
        private int goldNumber;
    
        /**
         * 银牌数量
         */
        private int sliverNumber;
    
        /**
         * 铜牌数量
         */
        private int bronzeNumber;
    
        public String getCountryName() {
            return countryName;
        }
    
        public void setCountryName(String countryName) {
            this.countryName = countryName;
        }
    
        public int getGoldNumber() {
            return goldNumber;
        }
    
        public void setGoldNumber(int goldNumber) {
            this.goldNumber = goldNumber;
        }
    
        public int getSliverNumber() {
            return sliverNumber;
        }
    
        public void setSliverNumber(int sliverNumber) {
            this.sliverNumber = sliverNumber;
        }
    
        public int getBronzeNumber() {
            return bronzeNumber;
        }
    
        public void setBronzeNumber(int bronzeNumber) {
            this.bronzeNumber = bronzeNumber;
        }
    
        @Override
        public String toString() {
            return "MedalInfo{" +
                    "countryName='" + countryName + '\'' +
                    ", goldNumber=" + goldNumber +
                    ", sliverNumber=" + sliverNumber +
                    ", bronzeNumber=" + bronzeNumber +
                    '}';
        }
    }
    

    SortMain.java

    import java.util.ArrayList;
    import java.util.Comparator;
    import java.util.List;
    
    /**
     * @author :lichuankang
     * @date :Created in 2022/2/9 13:57
     * @description :
     */
    public class SortMain {
    
        public static void main(String[] args) {
            List<MedalInfo> medalInfoList = buildMedalInfo();
            System.out.println("------------------排序前---------------");
            medalInfoList.forEach(System.out::println);
            System.out.println("------------------排序后---------------");
            medalInfoList.stream()
                    .sorted(Comparator.comparing(MedalInfo::getBronzeNumber).reversed())
                    .sorted(Comparator.comparing(MedalInfo::getSliverNumber).reversed())
                    .sorted(Comparator.comparing(MedalInfo::getGoldNumber).reversed())
                    .forEach(System.out::println);
    
        }
    
        private static List<MedalInfo> buildMedalInfo() {
            List<MedalInfo> medalInfos = new ArrayList<>();
    
            MedalInfo info = new MedalInfo();
            info.setCountryName("中国");
            info.setGoldNumber(3);
            info.setSliverNumber(2);
            info.setBronzeNumber(0);
            medalInfos.add(info);
            info = new MedalInfo();
            info.setCountryName("瑞士");
            info.setGoldNumber(4);
            info.setSliverNumber(3);
            info.setBronzeNumber(0);
            medalInfos.add(info);
            info = new MedalInfo();
            info.setCountryName("英国");
            info.setGoldNumber(2);
            info.setSliverNumber(1);
            info.setBronzeNumber(1);
            medalInfos.add(info);
            info = new MedalInfo();
            info.setCountryName("荷兰");
            info.setGoldNumber(2);
            info.setSliverNumber(1);
            info.setBronzeNumber(2);
            medalInfos.add(info);
            info = new MedalInfo();
            info.setCountryName("西班牙");
            info.setGoldNumber(4);
            info.setSliverNumber(2);
            info.setBronzeNumber(1);
            medalInfos.add(info);
            info = new MedalInfo();
            info.setCountryName("挪威");
            info.setGoldNumber(7);
            info.setSliverNumber(1);
            info.setBronzeNumber(4);
            medalInfos.add(info);
    
            return medalInfos;
        }
    }
    

    结果

  • 相关阅读:
    观察者模式
    hdu 4712 Hamming Distance bfs
    leetcode Sum Root to Leaf Numbers(所有路径之和)
    Oracle实用-01:绑定变量
    jQuery实现AJAX定时刷新局部页面实例
    给Ajax一个漂亮的嫁衣——Ajax系列之五(下)之序列化和反序列化
    jquery的ajax同步和异步
    报表技术
    告别.NET生成报表统计图的烦恼
    浅谈ASP.NET报表控件
  • 原文地址:https://www.cnblogs.com/lick468/p/15874808.html
Copyright © 2020-2023  润新知