java的int数组逆序排序

  Arrays.sort(int[])只有正序排序,但是没法逆序排序,加Comparator也不行,因为它要求元素是对象而不是基础数据类型。

  这里的做法是将int转为Integer再用Comparator去逆序,最后转回int数组。

int[] nums = {1, 2, 0, 3, 5, 4};

// 倒序排序
nums = IntStream.of(nums)          // 变为 IntStream
                .boxed()           // 装盒变为 Stream
                .sorted(Comparator.reverseOrder()) // 按自然序相反排序
                .mapToInt(Integer::intValue)       // 变为 IntStream
                .toArray();        // 又变回 int[]

System.out.println(Arrays.toString(nums));

你可能感兴趣的:(零碎问题,java,stream)