Integer数组与int数组排序对比
使用Arrays.sort的方法发现int数组和Integer数组的sort方法有区别
Integer[] arr = {1,2,3};
int[] arr1 = {1,2,3};
Arrays.sort(arr1);
Arrays.sort(arr, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
if((Integer) o1 > (Integer) o2){
return 1;
}
return -1;
}
});
于是开始更新Integer数组的sort方法
可以看到可以更新为
Arrays.sort(arr, (o1, o2) -> { if((Integer) o1 > (Integer) o2){ return 1; } return -1; });
因为lambda表达式可以更加简化,所以就更新为
Arrays.sort(arr, (o1, o2) -> o1 > o2 ? 1 : -1 );
一行代码完成(升序)
原因是因为sort的方法入参不同



浙公网安备 33010602011771号