Java中数组反转一般有两个思路,第一个是新建一个临时数组,把原来的数组内各值倒着给放进去。
public class ArrayReverse {
public static void main(String[] args) {
int[] nums = {1,2,4,54,464};
//思路一
//新建一个数组
int[] temp = new int[nums.length];
//把nums数组内的值反着放入temp;
for (int i = 0; i < nums.length; i++) {
temp[i] = nums[nums.length-1-i];
}
//引用指向
nums = temp;
for (int i = 0; i < nums.length; i++) {
System.out.println(nums[i]);
}
}
}
//缺点:效率不高,需要遍历整个数组,时间复杂度和空间复杂度都不合适
但是这样的方法的缺点是效率不高,需要遍历整个数组,时间复杂度和空间复杂度都不合适。
第二种方法不需要新建临时数组,我们只需要把数组的第一个元素和最后一个交换,第二个元素和倒数第二个交换即可。以此类推,代码实现如下:文章来源:https://www.toymoban.com/news/detail-616958.html
public class ArrayReverse2 {
public static void main(String[] args) {
int[] nums = {1,2,4,54,464};
//思路二
//首尾两两交换
for (int i = 0; i < nums.length/2; i++) {
int temp = nums[i];
nums[i] = nums[nums.length-1-i];
nums[nums.length-1-i] = temp;
}
for (int i = 0; i < nums.length; i++) {
System.out.println(nums[i]);
}
}
}
第二种方法不需要遍历整个数组,只需要遍历到一半就可以了,在时间上节省很多。文章来源地址https://www.toymoban.com/news/detail-616958.html
到了这里,关于java的数组反转的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!