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的方法入参不同

 

posted @ 2023-12-26 09:58  冬日寻雾记  阅读(43)  评论(0)    收藏  举报