JAVA复制数组和重置数组大小操作
翻看印象笔记发现自己整理过arraycopy()这样一个方法,码字放到这里:
System.arraycopy()是一个静态方法,用来实现重置数组操作
数组复制方法调用和参数列表:
System.arraycopy(src,srcPos,dest,destPos,length);
src:原数组
srcPos:原数组的开始位置
dest:目标数组
destPos:目的数组的开始位置
length:复制长度
数组复制代码示例:
//originalArray数组全部复制到targetArray数组 int[]originalArray=newint[10]; int[]targetArray=newint[10]; System.arraycopy(originalArray,0,targetArray,0,originalArray.length);
通过入参的长度限制是全部复制还是部分复制
重置数组大小代码示例:
int[]originalArray=newint[10]; int[]temp=newint[originalArray.length+10]; System.arraycopy(originalArray,0,temp,0,originalArray.length); //数组重新复制 originalArray=temp;
以后建议在重置数组或者数组复制时用这个静态方法,效率要比for循环高(来自某本技术书籍)
补充知识:java:复制数组(指定范围内复制)
相关说明
intnewArray0[]=copyOf(这里放被复制的数组,这里放要复制的长度);
当复制长度大于被复制的数组长度时,超出部分int类型用0代替,char类型用null代替。
当复制长度小于被复制的数组长度时,只取开头到指定长度位置的部分。
intnewArray1[]=copyOfRange(a,b,c);
range(范围)
a:被复制的数组
b:复制的起始位置(元素被包括)
c:复制的终止位置(元素不被包括)
源码
importjava.util.Arrays; classDemo{ publicstaticvoidmain(String[]args){ intarray0[]={32,82,99};//被复制的数组一 System.out.println("被复制的数组为:32,82,99\n复制长度为7的数组为:"); intnewArray0[]=Arrays.copyOf(array0,7);//复制成长度为7的数组 for(intn=0;n运行结果
以上这篇JAVA复制数组和重置数组大小操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。