Arrays.sort()方法总结

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版权协议,转载请附上原文出处链接和本声明。