Integer数组与int数组排序对比

发布时间 2023-12-26 10:01:21作者: 冬日寻雾记
使用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 );

一行代码完成(升序)