二维数组排序
一般而言,二维数组定制规则需要进行重写比较器,但是那个比较器在java中记忆复杂,所有我们一般使用,lambada表达式进行。
1.表示第0列按照从小到大排序
Arrays.sort(nums,(a,b) -> a[0]-b[0]);
2.表示第1列按照从小到大排序
Arrays.sort(nums,(a,b) -> a[1]-b[1]);
3.表示第0列按照从大到小排序
Arrays.sort(nums,(a,b) -> b[0]-a[0]);
4.表示第1列按照从大到小排序
Arrays.sort(nums,(a,b) -> b[1]-a[1]);
5.表示第0列从小到大,若是遇到第0列值相等的,按照第1列从大到小排序
Arrays.sort(nums,(a,b) -> a[0]==b[0] ? b[1]-a[1]:a[0]-b[0]);
例如:俄罗斯套娃问题
本文介绍了如何使用Java中的Lambda表达式来对二维数组进行排序。包括按照指定列升序或降序排列的方法,并给出一个复杂的排序例子,即首先按第一列升序排序,在相同情况下再按第二列降序排列。

397

被折叠的 条评论
为什么被折叠?



