zoukankan      html  css  js  c++  java
  • Lambda 表达式排序

    如下代码

    import java.util.Collections;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Comparator;
    
    public class Java8Tester {
        public static void main(String args[]) {
    
            List<String> names1 = new ArrayList<String>();
            names1.add("Google ");
            names1.add("Runoob ");
            names1.add("Taobao ");
            names1.add("Baidu ");
            names1.add("Sina ");
    
            List<String> names2 = new ArrayList<String>();
            names2.add("Google ");
            names2.add("Runoob ");
            names2.add("Taobao ");
            names2.add("Baidu ");
            names2.add("Sina ");
    
            Java8Tester tester = new Java8Tester();
            System.out.println("使用 Java 7 语法: ");
    
            tester.sortUsingJava7(names1);
            System.out.println(names1);
            System.out.println("使用 Java 8 语法: ");
    
            tester.sortUsingJava8(names2);
            System.out.println(names2);
        }
    
        // 使用 java 7 排序
        private void sortUsingJava7(List<String> names) {
            Collections.sort(names, new Comparator<String>() {
                @Override
                public int compare(String s1, String s2) {
                    return s1.compareTo(s2);
                }
            });
        }
    
        // 使用 java 8 排序
        private void sortUsingJava8(List<String> names) {
            Collections.sort(names, (s1, s2) -> s1.compareTo(s2));
        }
    
        /*使用 Java 7 语法:
                [Baidu , Google , Runoob , Sina , Taobao ]
        使用 Java 8 语法:
                [Baidu , Google , Runoob , Sina , Taobao ]*/
    }
    

    数字排序

    public static void main(String[] args) {
      List<Integer> integers = Arrays.asList(10, 5, 3, 7, 2);
      Collections.sort(integers,(s1,s2) -> s1.compareTo(s2));
      System.out.println(integers);
    }
    // [2, 3, 5, 7, 10]
    

    根据集合中某一列的Integer类型排序

      // 使用排序, 注意: 比较器只支持Integer类型
      // 输出:Student{name='小明', sex='男', clazz='1'}Student{name='小红', sex='女', clazz='1'}Student{name='小刚', sex='男', clazz='2'}Student{name='小白', sex='男', clazz='2'}Student{name='小蓝', sex='男', clazz='3'}Student{name='王老五', sex='男', clazz='10'}
      Collections.sort(list, Comparator.comparing(Student::getClazz));
      list.forEach(System.out::print);
    
  • 相关阅读:
    docker相关资源监控采集方法整理
    三节课MINI计划第四周
    三节课MINI计划第五周
    三节课MINI计划第四周
    三节课MINI计划第三周
    三节课MINI计划第二周
    Bilibili用户需求分析报告
    三节课MINI计划第一周
    《产品思维30讲 》学习笔记
    PHP-FPM未授权访问漏洞
  • 原文地址:https://www.cnblogs.com/Twittery/p/14411803.html
Copyright © 2011-2022 走看看