在Java中,逆序数组可以通过以下几种方法实现:
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--;
}
}
2. 使用`Collections.reverseOrder()`方法逆序列表并更新数组:
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class Main {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
List
list = Arrays.asList(arr); Collections.reverse(list);
for (int i = 0; i < arr.length; i++) {
arr[i] = list.get(i);
}
System.out.println(Arrays.toString(arr));
}
}
3. 使用`Arrays.sort()`函数,传入`Comparator.reverseOrder()`进行逆序排序:
import java.util.Arrays;
import java.util.Comparator;
public class Main {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
Arrays.sort(arr, Comparator.reverseOrder());
System.out.println(Arrays.toString(arr));
}
}
4. 使用`Collections.reverse()`函数:
import java.util.Arrays;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
Integer[] arr = {1, 2, 3, 4, 5};
Collections.reverse(Arrays.asList(arr));
System.out.println(Arrays.toString(arr));
}
}
以上方法的时间复杂度都是O(n),其中n是数组的长度。您可以根据需要选择合适的方法进行逆序操作