Java实现数组翻转的实现代码

1.Java提供了一些工具包实现了数组翻转,这里就不在赘述了   reverse。。。

2.还可以通过倒叙循环,重新new一个数组进行赋值,例如

private static String[] reverseArray(String[] Array) { 
    String[] new_array = new String[Array.length]; 
    for (int i = 0; i < Array.length; i++) { 
      // 反转后数组的第一个元素等于源数组的最后一个元素: 
      new_array[i] = Array[Array.length - i - 1]; 
    } 
    return new_array; 
  }

3.但是是效率可不可以更高一些呢,还有在同一个数组上如何进行翻转

例如数组:a,b,c,d,e,f,g

返回结果:g,f,e,d,c,b,a

分析:数组长度为 7

对应数组标记,数组从0开始,也就是0,1,2,3,4,5,6

当长度为单数时,中间位不需要互换,也就是d(4)不需要互换,也就是7/2取整结果3,3+1不需要互换,也就是length/2 +1不需要互换

当长度为双数时,不需要考虑,全部进行互换

 总结:需要互换的数据为0~(length/2 -1) 与 length/2 ~ (length -1)

设置循环系统i=0,阈值为lenth/2 - 1,同时倒叙获取后面的参数进行互换。

public static void main(String[] args) {
		String[] num = {"1", "2", "3", "4", "5", "6"};
 
		for (int i = 0; i <= num.length / 2 - 1; i++) {
			String temp1 = num[i];
			String temp2 = num[num.length - i - 1];
			num[i] = temp2;
			num[num.length - i - 1] = temp1;
		}
		System.out.println(Arrays.asList(num).toString());
	}

暂时只想到只想到这些,同时隐身知识点,java中的值传递与引用传递的区别。。。。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。 

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。