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
  • 相关阅读:
    设计模式学习--Abstarct Factory
    WPF使用Canvas绘制可变矩形
    离线安装 Android 4.0 SDK
    引用了System.Configuration命名空间,却找不到ConfigurationManager类
    LIBXML2库使用指南2
    Quartz任务调度实践
    FastJson 自定义Serialize、Parser
    maven安装与创建多模块项目
    Zookeeper源码调试环境踩坑记录
    Apache Dubbo时间轮HashedWheelTimer算法的实现原理
  • 原文地址:https://www.cnblogs.com/ggband/p/9473020.html
Copyright © 2011-2022 走看看