Arrays.sort(points, (a, b) -> {
//如果第一位相等,按第二位排序
if (a[0] == b[0]) return Integer.compare(a[1],b[1]);
return Integer.compare(a[0],b[0]);
});
point为待排序数组
a,b为选取的两个比较对象
使用Integer.compare()而不用a[0]-b[0]的原因
若a[0]-b[0]的值超过2147483647,即int类型能保存的最大数的时候,值会为负数,导致排序失败。
或者也可以直接写为
(x < y) ? -1 : ((x == y) ? 0 : 1);
即Integer.compare()方法的实现
版权声明:本文为iceforg123原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。