Comparator

public static > Comparator comparing (

        Function keyExtractor)

    参数:将一个 (非Comparable) 的对象 转换为一个 Comparable 对象的 Function!

    返回值:一个 T 的比较器,其比较方式为参数中获取到的 Comparable 对象的默认比较方式。

    使用场景:List 排序,需要的排序规则为:按 Person 中的 name 的自然排序方式。

public static Comparator comparing (

        Function keyExtractor, Comparator keyComparator)

    参数:

        第一个:将一个 T 类型的对象 转换为 U 类型的对象。

        第二个:定义一个关于 U 类型对象的比较方式。

    返回值:一个 T 的比较器,其比较方式为第二个参数定义的比较方式。

    使用场景:同上,但想要自定义比较规则。

public static Comparator comparingDouble(ToDoubleFunction keyExtractor)

public static Comparator comparingInt(ToIntFunction keyExtractor)

public static Comparator comparingLong(ToLongFunction keyExtractor)

    与上面的方法类型,只是它们分别是为 Double、Integer、Long 定制的方法。

public static > Comparator naturalOrder()

    返回一个自然顺序的比较器,我觉得没什么用,因为本来就是自然顺序的比较(如果说是为了更加明显的表达是自然顺序的话,我觉得还行←_←)。

public static Comparator nullsFirst(Comparator comparator)

    序列中有 null 值,放在最前面。

public static Comparator nullsLast(Comparator comparator)

    序列中有 null 值,放在最后面。

default Comparator reversed()

    返回当前比较器的逆序比较器。

public static > Comparator reverseOrder()

    返回自然顺序的逆序比较器。

thenComparing 方法:按多个条件排序。

Comparator 详细(https://www.jianshu.com/p/50b561044c60)

你可能感兴趣的:(Comparator)