zoukankan      html  css  js  c++  java
  • 集合排序

    集合排序采用的是调用List的sort方法传入参数(比较器)实现Comparator接口,

    package list;
    
    import java.util.ArrayList;
    import java.util.Comparator;
    import java.util.List;
    
    public class TestSort {
    
        public static void main(String[] args) {
            
            List<Integer> list = new ArrayList<Integer>();
            
            list.add(111);
            list.add(222);
            list.add(333);
            list.add(555);
            list.add(444);
            
            list.forEach(o->System.out.println(o));
            System.out.println("-------------------");
    //        list.sort(new ClassB());
            list.sort((i1,i2)->{
                if(i1<i2)return -1;
                return 1;
            });
            System.out.println("---------------------");
            
            list.forEach(o->System.out.println(o));
    11
        }
    
    }
    //class ClassB implements Comparator<Integer>{
    //    public int compare(Integer i1,Integer i2) {
    //        //负换正不换  参数1表示集合要添加的值,参数2表示集合中原有的值
    ////        System.out.println(i1);
    ////        System.out.println(i2);
    ////        return -10;
    //        //升序排列
    ////        if(i1<i2) return -1;
    ////        return 1;
    //        //降序排列
    //        if(i1>i2)return -1;
    //        return 1;
    //    }
    //
    //}
    package list;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class TestSort1 {
    
        public static void main(String[] args) {
            // 创建集合
            List<Worker> list = new ArrayList<Worker>();
            
            list.add(new Worker("哈哈",38,'男',3800D));
            list.add(new Worker("嘻嘻",19,'男',3900D));
            list.add(new Worker("啧啧",25,'男',3900D));
            list.add(new Worker("卧槽",41,'男',3600D));
            list.add(new Worker("无情",47,'男',4000D));
            list.add(new Worker("略略",16,'男',4200D));
            
            list.sort((w1,w2)->{
                //负换正不换,w1后w2前
                //工资降序
                if(w1.salary>w2.salary) {
                    return -1;
                }else if(w1.salary<w2.salary){
                    return 1;
                }else {
                    //按照年龄降序排
                    if(w1.age<w2.age)return 1;
                    return -1;
                }
                
            });
            
            list.forEach(w->System.out.println(w));
    
        }
    
    }
    class Worker{
        String name;
        Integer age;
        Character sex;
        Double salary;
        public Worker() {
            super();
            // TODO Auto-generated constructor stub
        }
        public Worker(String name, Integer age, Character sex, Double salary) {
            super();
            this.name = name;
            this.age = age;
            this.sex = sex;
            this.salary = salary;
        }
        @Override
        public String toString() {
            return "Worker [name=" + name + ", age=" + age + ", sex=" + sex + ", salary=" + salary + "]";
        }
        
    }
    以粮为纲全面发展
  • 相关阅读:
    json的序列化 与 反序列化
    苹果审核被拒 2.3.10
    iOS基础问答面试
    论坛类应用双Tableview翻页效果实现
    iOS性能调优之Analyze静态分析
    win10 U盘安装ubuntu16.04双系统
    spring boot实战读书笔记1
    使用springBoot搭建REATFul风格的web demo
    es6编写generator报错
    vue开发环境搭建win10
  • 原文地址:https://www.cnblogs.com/alexliuf/p/13357599.html
Copyright © 2011-2022 走看看