zoukankan      html  css  js  c++  java
  • list按照某个元素进行排序

    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.List;
    
    public class Sort {
    
        private int age ;
    
        private String name;
    
        public Sort(int age, String name) {
            this.age = age;
            this.name = name;
        }
    
        public int getAge() {
            return age;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        @Override
        public String toString() {
            return "Sort{" +
                    "age=" + age +
                    ", name=" + name +
                    '}';
        }
    
        public static void main(String args[]) {
    
    
            List<Sort> sorts = new ArrayList<>();
    
            sorts.add(new Sort(18,"ww"));
            sorts.add(new Sort(12,"wf"));
            sorts.add(new Sort(13,"wg"));
            sorts.add(new Sort(19,"wa"));
            sorts.add(new Sort(16,"wb"));
    
    
            System.out.println("排序前的结果:"+sorts.toString());
            Collections.sort(sorts, new Comparator<Sort>(){
                /*
                 * int compare(Person p1, Person p2) 返回一个基本类型的整型,
                 * 返回负数表示:p1 小于p2,
                 * 返回0 表示:p1和p2相等,
                 * 返回正数表示:p1大于p2
                 */
                public int compare(Sort p1, Sort p2) {
                    //按照Person的年龄进行升序排列
                    if(p1.age > p2.age){
                        return 1;
                    }
                    if(p1 == p2){
                        return 0;
                    }
                    return -1;
                }
            });
            System.out.println("排序后的结果:"+sorts.toString());
    
        }
    }

    执行结果:

    排序前的结果:[Sort{age=18, name=ww}, Sort{age=12, name=wf}, Sort{age=13, name=wg}, Sort{age=19, name=wa}, Sort{age=16, name=wb}]
    排序后的结果:[Sort{age=12, name=wf}, Sort{age=13, name=wg}, Sort{age=16, name=wb}, Sort{age=18, name=ww}, Sort{age=19, name=wa}]
    ggband
  • 相关阅读:
    OI无关--关于侧边栏
    Codeforces Round #528 div1
    BZOJ 3531: [Sdoi2014]旅行
    BZOJ 4538: [Hnoi2016]网络
    Codeforces Round #527 (Div. 3)
    Avito Cool Challenge 2018
    Educational Codeforces Round 56 (Rated for Div. 2)
    Codeforces Round #526 (Div. 1)
    2018-2019 Russia Open High School Programming Contest (Unrated, Online Mirror, ICPC Rules, Teams Preferred)
    Codeforces Round #525 (Div. 2)
  • 原文地址:https://www.cnblogs.com/ggband/p/9473020.html
Copyright © 2011-2022 走看看