Arrays.sort()的运用
1.Arrays.sort(arr);
2.Arrays.sort(arr,startIndex,endIndex);
不包含endIndex这个索引值
3.Arrays.sort(people, new Comparator<int[]>() {
@Override
public int compare(int[] person1, int[] person2){
if (person1[0] != person2[0]){
//第一个元素不相等时,第一个元素降序
return person2[0] - person1[0];
}else{
//第一个元素相等时,第二个元素升序
return person1[1] - person2[1];
}
}
});
4.Arrays.sort(people,(person1,person2)->{
if(person1[0]!=person2[0]){
return person2[1]-person1[1];
}else{
return person1[1]-person2[1];
}
]);
方法3和方法4都是一样的,只是在自定义比较的时候语法有点区别。
另外根据return的值可以分为
(1)一个正数时:交换位置;
(2)一个负数时:位置不变;
(3)0:此时两个值相等,位置交换和保持都一样。
所以如果升序的话用compare1-compare2;
降序的话用compare2-compare1。
版权声明:本文为a949079590原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。