• 有参数返回的Lambda


    主要看代码的注释

     1  public static void main(String[] args) {
     2         Person[] people =new Person[3];
     3         people[0] = new Person("aa",10);
     4         people[1] = new Person("bb",15);
     5         people[2] = new Person("cc",12);
     6 
     7         System.out.println(Arrays.toString(people));
     8         /*
     9          * 改变成lambda表达式的
    10          * 表达式中,省略了compare的方法体
    11          * 原因是:在之前的Comparator 中只包含这样一个方法
    12          * return 的值还是不变用了之前的升序的形式
    13          * */
    14 
    15         Arrays.sort(people, (o1, o2) -> {
    16             // 直接o1-o2 就是升序
    17             return o1.getAge()-o2.getAge();
    18         });
    19         /*
    20          * 匿名内部类设置排序
    21          * 一个是传入的需要排序的对象
    22          * 一个是重写Comparator 的  public int compare(Person o1, Person o2)
    23          * 修改return 的值,来确认是升序还是降序的排列
    24          */
    25         Arrays.sort(people, new Comparator<Person>() {
    26             @Override
    27 
    28             public int compare(Person o1, Person o2) {
    29                 // 直接o1-o2 就是升序
    30                 return o1.getAge()-o2.getAge();
    31             }
    32         });
    33         /*
    34         * 还可以换为Comparator
    35         * */
    36 
    37         Arrays.sort(people, Comparator.comparingInt(Person::getAge));
    38 
    39 
    40         System.out.println(Arrays.toString(people));
    View Code
  • 相关阅读:
    计算机基础知识-计算机网络知识
    计算机基础知识-操作系统
    计算机基础知识-硬件
    Django REST
    船舶管子零件图程序开发
    OpenCASCADE 参数曲面面积
    Jenkins in OpenCASCADE
    OpenCASCADE BRepMesh
    管道设计CAD系统中重量重心计算
    IsoAlgo3d
  • 原文地址:https://www.cnblogs.com/GooKiki/p/11395343.html
Copyright © 2020-2023  润新知