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

来源:4-7 双指针在数组的应用

warren_au

2020-12-31

(a,b)->a[0]-b[0];是什么意思?

写回答

1回答

javaman

2020-12-31

您好,这里p是一个二维数组, 即数组的数组, p[.][0]表示原始的数,p[.][1]表示原始的数在原数组中的下标。

(a, b)->a[0] - b[0]是一个lambda, 输入a, b返回a[0] - b[0]。我们输入的a, b实际上是p[.],这个lambda的作用是比较数组a和数组b (它们的长度都是2)中a[0]和b[0]的大小,如果a[0] > b[0],返回的是正数, 如果a[0] < b[0]返回的是负数,如果a[0] == b[0],返回的是0。 Arrays.sort可以接受这个lambda,把p[.][2]这个2维数组按照p[.][0](即原始数值大小)由小到大排序。

2
0

算法面试刷题课--竞赛命题人带你刷70+高质量题型

只需20小时, Google面试官带你完成Java算法面试准备

539 学习 · 65 问题

查看课程