Java

Java实现数组反转的方法有哪些

小亿
127
2023-11-07 16:32:48
栏目: 编程语言

在Java中,实现数组反转的方法有以下几种:

  1. 使用额外的数组:创建一个新的数组,然后从原数组的末尾开始,依次将元素放入新数组中。最后返回新数组。
public static int[] reverseArray(int[] arr) {
    int[] result = new int[arr.length];
    int index = 0;
    for (int i = arr.length - 1; i >= 0; i--) {
        result[index] = arr[i];
        index++;
    }
    return result;
}
  1. 使用原地反转:定义两个指针,一个指向数组的起始位置,另一个指向数组的末尾位置。交换两个指针所指向的元素,并分别将起始指针向后移动一位,末尾指针向前移动一位,直到起始指针大于等于末尾指针。
public static void reverseArray(int[] arr) {
    int start = 0;
    int end = arr.length - 1;
    while (start < end) {
        int temp = arr[start];
        arr[start] = arr[end];
        arr[end] = temp;
        start++;
        end--;
    }
}
  1. 使用Collections.reverse()方法:将数组转换为List,然后使用Collections类的reverse()方法反转List,最后再将List转换回数组。
import java.util.Arrays;
import java.util.Collections;

public static void reverseArray(int[] arr) {
    Integer[] temp = new Integer[arr.length];
    for (int i = 0; i < arr.length; i++) {
        temp[i] = arr[i];
    }
    Collections.reverse(Arrays.asList(temp));
    for (int i = 0; i < arr.length; i++) {
        arr[i] = temp[i];
    }
}

以上是实现数组反转的三种常见方法,可以根据实际需求选择合适的方法来使用。

0
看了该问题的人还看了