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中的值传递与引用传递的区别。。。。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
logback的isDebugEnabled日志配置级别源码解析
这篇文章主要为大家介绍了logback的isDebugEnabled日志配置级别源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-11-11使用java + selenium + OpenCV破解腾讯防水墙滑动验证码功能
这篇文章主要介绍了使用java + selenium + OpenCV破解腾讯防水墙滑动验证码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-11-11jpa多数据源时Hibernate配置自动生成表不生效的解决
这篇文章主要介绍了jpa多数据源时Hibernate配置自动生成表不生效的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-02-02
最新评论