java数组复制
❶ java数组的复制可以这么写吗
不是复制元素,这是复制引用,数组是对象,两个引用arr,arr1指向同一个对象而已,也就是说对象还是只有一个,可以通过其中一个引用修改数组元素,另一个引用查看会看到数组元素变了。
❷ JAVA 数组拷贝
array方法只是浅层复制,就是单纯的把值赋给目标 当值为引用类型时,这毫无意义,因为复制出来的对象不能独立于原对象,当原来的引用内容改变时,复制的也改变。 当拷贝一维数组时,数组里面也必须存放非引用值(比如int,char)才有效,不然你修改也一样会影响原数组 当拷贝二维数组时,它相当于一个一维数组的每一项又存一个一维数组的首地址引用,那么单纯对二维数组使用array就没有用了,要达到目的只有把它细分到不是引用值(比如你原来是对b拷贝,现在改成对b[0],b[1]...分别拷贝),再使用这个方法。
❸ Java中数组复制的几种方法
最简单的一种就是直接挨个把原数组的值赋给新数组 不过一般都用System.array(原数组起始复制的标号,新数组接收复制的起始标号,赋值的长度) 这个方法
例如:public class llx { public static void main(String args[]) { int a[] = {1,2,3,4,5}; int b[] = new int[10];//搞一个10位置的新数组 System.array(a[0],b[0],a.length);//从a的第一个位置开始复制;从b的第一个位置开始接收;一共接收a的总长度(a.length);;;懂了吗?这样的话 b的前5个值就被传递了,但是后5个是初始值0。 }}
❹ JAVA中复制数组的方法是什么求详解并举例子!
在JAVA中可以使用array()方法来复制数组。其格式如下:
System.arraycoppy(sArray,intsrcPos,dArray,intdestPos,intlength)
该方法将指定的源数组sArray中的length个元素复制到目标数组dArray中,复制从原数组sArray的指定位置srcPos开始,把原数组中的元素复制到目标数组中,目标数组的位置从destPos位置处开始向后。
复制数组举例:
publicclassLi{
publicstaticvoidmain(Stringargs[]){
intk,a1[]={5,4,3,2,1};
inta2[],a3[];
a2=a1;
a3=newint[7];
for(k=0;k<a1.length;k++)
System.out.print("a1["+k+"]="+a1[k]+" ");
System.out.println();
for(k=0;k<a2.length;k++){
a2[k]+=2;
System.out.print("a2["+k+"]="+a2[k]+" ");
}
System.out.println();
System.array(a2,2,a3,1,3);//从a2数组第2个元素开始复制3个元素
for(k=0;k<a3.length;k++)
System.out.print("a3["+k+"]="+a3[k]+" ");
System.out.println();
}
}
运行结果:
❺ Java 如何拷贝数组的数据
这就是从指定的源数组复制一个数组到目的数组,复制是从指定位置开始到目标数组指定位置结束,
也就是从你的第一个数组0
index开始复制长度为3复制到目标的0开始前3位
简单说system.array(a1,0,a2,0,3);
a1是你的原数组就是要提供复制的,0是你的原数组的开始位数,
也就是a1的index,a2是目的数组,就是需要复制到的,0是a2的开始位数吗,也就是a2的index,3是复制的长度
❻ Java中的数组拷贝
这就是从指定的源数组复制一个数组到目的数组,复制是从指定位置开始到目标数组指定位置结束,
也就是从你的第一个数组0 index开始复制长度为3复制到目标的0开始前3位
简单说System.array(a1,0,a2,0,3); a1是你的原数组就是要提供复制的,0是你的原数组的开始位数,
也就是a1的index,a2是目的数组,就是需要复制到的,0是a2的开始位数吗,也就是a2的index,3是复制的长度
❼ java中如何对数组进行复制
importjava.util.Arrays;
publicclassCope
{
publicstaticvoidmain(String[]args)
{
intarr[]=newint[]{23,24,12,8,45};
intnewarr[]=Arrays.Of(arr,4);
intnewarr1[]=Arrays.Of(arr,8);
for(inti=0;i<newarr.length;i++)
{
System.out.println(newarr[i]);
}
System.out.println();
for(inti=0;i<newarr1.length;i++)
{
System.out.println(newarr1[i]);
}
}
}
❽ java怎么把数组复制
publicclassArraysCopy{
publicstaticvoidmain(String[]args){
int[]arr={1,2,3,4};
int[]arr2=newint[arr.length];
System.array(arr,0,arr2,0,arr2.length);
System.out.println(java.util.Arrays.toString(arr2));
}
}
参数:
src-源数组。
srcPos-源数组中的起始位置。
dest-目标数组。
destPos-目标数据中的起始位置。
length-要复制的数组元素的数量。
❾ java 数组复制
你可以直接调用下面方法来复制数组(该例子适合int数组,当然你也可以改为别的)
/**
* 复制数组flag
* @param flag
*/
private int[] reArray(int []flag) {
// TODO Auto-generated method stub
int []result = new int[flag.length];
for(int i=0;i<flag.length;i++){
result[i] = flag[i];
}
return result;
}
❿ java数组复制 源数组和目标数组的长度必须相等吗还是可以不同
如果是全复制,则要求目标数组的长度大于或者等于源数组长度。由于数组不可变长,要求你的目标数组大于你复制的数据长度。