Java中的Arrays.sort()方法

在刷LeetCode56题的时候,先按照二维数组中intervals的每一组值的第一个值来排序。也就是这样

[[8,10],[1,3],[2,6],[15,18]]  排序后变成  [[1,3],[2,6],[8,10],[15,18]]

这里用到了Arrays.sort()方法。

Arrays.sort(intervals,(a,b)->a[0]-b[0]);

这个方法乍一看有点懵。后面查了 一些博客根据自己的总结如下

Arrays.sort方法的完整应该是这样

 Arrays.sort(intervals, new Comparator(){
    @Override
    public int compare(int[] a, int[] b) {
    return a[0]-b[0];//如果这个值大于0,则是升序
}

然后后面的匿名类可以写成Lambda表达式,可以省略函数名,返回值类型和return 关键字,只要给定参数(a,b),直接得到一个表达式的结果

Arrays.sort(intervals,  (a, b)->a[0]-b[0]);

 

你可能感兴趣的:(Java中的Arrays.sort()方法)