JAVA复制数组和重置数组大小操作

网友投稿 225 2022-11-22


JAVA复制数组和重置数组大小操作

翻看印象笔记发现自己整理过arraycopy()这样一个方法,码字放到这里:

System.arraycopy()是一个静态方法,用来实现重置数组操作

数组复制方法调用和参数列表:

System.arraycopy(src, srcPos, dest, destPos, length);

src:原数组

srcPos:原数组的开始位置

dest:目标数组

destPos:目的数组的开始位置

length:复制长度

数组复制代码示例:

//originalArray 数组全部复制到targetArray数组

int [] originalArray = new int[10];

int [] targetArray = new int [10];

System.arraycopy(originalArray, 0NaMpbF, targetArray, 0, originalArray.length);

通过http://入参的长度 限制是全部复制还是部分复制

重置数组大小代码示例:

int [] originalArray = new int[10];

int [] temp =new int [originalArray.length + 10];

System.arraycopy(originalArray, 0, temp, 0, originalArray.length);

//数组重新复制

originalArray=temp;

以后建议在重置数组或者数组复制时用这个静态方法,效率要比for循环高(来自某本技术书籍)

补充知识:java:复制数组(指定范围内复制)

相关说明

int newArray0[]=copyOf(这里放被复制的数组,这里放要复制的长度);

当复制长度大于被复制的数组长度时,超出部分int类型用0代替,char类型用null代替。

当复制长度小于被复制的数组长度时,只取开头到指定长度位置的部分。

int newArray1[]=copyOfRange(a,b,c);

range(范围)

a:被复制的数组

b:复制的起始位置(元素被包括)

c:复制的终止位置(元素不被包括)

源码

import java.util.Arrays;

class Demo{

public static void main(String[] args){

int array0[]={32,82,99};//被复制的数组一

System.out.println("被复制的数组为:32,82,99 \n 复制长度为7的数组为:");

int newArray0[]=Arrays.copyOf(array0,7);//复制成长度为7的数组

for(int n=0;n

System.out.print("["+newArray0[n]+"]");

}

System.out.println();//换行

int array1[]={82,16,33,11,92,01,34};

System.out.println("被复制的数组为:82,16,33,11,92,01,34 \n 复制从1位置到4位置的数组:");

int newArray1[]=Arrays.copyOfRange(array1,1,4);//从1位置复制到4位置

for(int m=0;m

System.out.print("["+newArray1[m]+"]");

}

System.out.println();//换行

}

}

运行结果

System.out.print("["+newArray0[n]+"]");

}

System.out.println();//换行

int array1[]={82,16,33,11,92,01,34};

System.out.println("被复制的数组为:82,16,33,11,92,01,34 \n 复制从1位置到4位置的数组:");

int newArray1[]=Arrays.copyOfRange(array1,1,4);//从1位置复制到4位置

for(int m=0;m

System.out.print("["+newArray1[m]+"]");

}

System.out.println();//换行

}

}

运行结果

System.out.print("["+newArray1[m]+"]");

}

System.out.println();//换行

}

}

运行结果


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SpringBoot如何上传图片
下一篇:Java自定义数组列表的实现操作
相关文章

 发表评论

暂时没有评论,来抢沙发吧~