来源:自学PHP网 时间:2020-09-27 14:14 作者:小飞侠 阅读:次
[导读] JAVA复制数组和重置数组大小操作...
今天带来JAVA复制数组和重置数组大小操作教程详解
翻看印象笔记发现自己整理过arraycopy()这样一个方法,码字放到这里: System.arraycopy()是一个静态方法,用来实现重置数组操作 数组复制方法调用和参数列表:
src:原数组 srcPos:原数组的开始位置 dest:目标数组 destPos:目的数组的开始位置 length:复制长度 数组复制代码示例: //originalArray 数组全部复制到targetArray数组 int [] originalArray = new int[10]; int [] targetArray = new int [10]; System.arraycopy(originalArray, 0, targetArray, 0, originalArray.length); 通过入参的长度 限制是全部复制还是部分复制 重置数组大小代码示例: 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代替。 当复制长度小于被复制的数组长度时,只取开头到指定长度位置的部分。
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<newArray0.length;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<newArray1.length;m++){ System.out.print("["+newArray1[m]+"]"); } System.out.println();//换行 } } 运行结果
|
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com