less than 1 minute read

最简单粗暴的方法是建一个同样大小空间的数组,然后倒序赋值。

    int[] nums = {1, 2, 3, 4, 5};
    int len = nums.length;
    int[] temp = new int[len];
    for (int i = 0; i < len; i++) {
        temp[i] = nums[len - 1 - i];
    }

Java提供了Arrays工具类,先把改数组转化为List,然后用Collection的reverse方法。但是需要注意这个方法有一个坑, asList可以把数组转换成List集合,但是前提是需要为对象数组,不能是基本数据类型的数组(具体原因可以自行查看源码)。 想要把基本数据类型数组转换成集合,可以用stream。并且List也没有转换成基本数据类型数组的方法,也还需要使用stream

    int[] nums = {1, 2, 3, 4, 5};
    List<Integer> list = Arrays.stream(nums).boxed().collect(Collectors.toList());
    Collections.reverse(list);
    nums = list.stream().mapToInt(Integer::intValue).toArray();

    String[] strs = {"a", "b", "c"};
    List<String> list1 = Arrays.asList(strs);
    Collections.reverse(list1);
    strs = list1.toArray(new String[0]);

Tags:

Categories:

Updated: