Lambda表达式-实际应该用-List.sort()排序

import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;

/**
 * @ClassName Demo
 * @Description Lambda表达式--List.sort()排序
 * @author TianJianWen
 * @data 2019年11月14日下午3:27:26
 *
 */
public interface Demo_List_Sort {

    public static void main(String[] args) {
        // List.sort() 排序
        List list = new ArrayList<>();
        list.add(new Person(3));
        list.add(new Person(1));
        list.add(new Person(8));
        list.add(new Person(7));
        list.add(new Person(5));
        System.err.print("默认顺序:");
        for (Person person : list) {
            System.out.print(person.getHeight()+", ");
        }
        System.err.println();
        // 1.传统方式使用 - 升序
        list.sort(new Comparator() {
            @Override
            public int compare(Person o1, Person o2) {
                // o1和o2比较 1:大于 0:相等 -1:小于
                // 颠倒结果就是降序
                return o1.getHeight().compareTo(o2.getHeight());
            }
        });
        System.err.print("传统方式顺序:");
        for (Person person : list) {
            System.out.print(person.getHeight()+", ");
        }
        System.err.println();
        /**
         * 2.Lambda使用
         */
        //  - 降序
        list.sort((o1, o2) -> o2.getHeight().compareTo(o1.getHeight()));
        System.err.print("Lambda表达式》降序顺序:");
        for (Person person : list) {
            System.out.print(person.getHeight()+", ");
        }
        //  - 升序
        System.err.println();
        list.sort((o1, o2) -> o1.getHeight().compareTo(o2.getHeight()));
        System.err.print("Lambda表达式》升序顺序:");
        for (Person person : list) {
            System.out.print(person.getHeight()+", ");
        }
    }
}

class Person {

    public Person(Integer height) {
        this.height = height;
    }

    private Integer height;

    public Integer getHeight() {
        return height;
    }

    public void setHeight(Integer height) {
        this.height = height;
    }
}

你可能感兴趣的:(Lambda表达)