Java数组复制(拷贝)
来源:互联网 发布:软件测试培训内容 编辑:程序博客网 时间:2024/06/09 22:26
- 数组的复制
可以把一个数组的变量赋值给另外一个数组,但是两个变量引用的都是同一个内存空间,因此,这种情况下,改变一个数组的值,另一个数组变量也会改变。例如:
public class Arraycopy{ public static void main (String [] args){ int [] num = {4,2,3,1,9,0}; int [] numcopy = num; //数组复制 numcopy [2] = 2; //新数组改值 for(int i = 0;i<numcopy.length;i++) System.out.print(numcopy[i]+" "); System.out.println(); for(int j = 0;j<num.length;j++) System.out.print(num[j]+" "); }}
运行结果如图
如果确实需要将数组中的元素的值复制给另外一个元素,而又不想改变原数组的值,可以采用System类中的arrayCopy()方法,其格式如下:
System.arraycopy(src, srcPos, dest, destPos, length)
该方法可以将src源数组中从srcPos开始的连续length个元素复制到dest数组的从destPos开始位置,且src和dest数组指向不同的内存空间。
public class Arraycopy{ public static void main (String [] args){ int [] num = {4,2,3,1,9,0}; int [] numcopy = new int [6]; for(int i=0;i<num.length;i++) System.out.print(num[i]+" "); System.out.println(); //输出数组num for(int j=0;j<num.length;j++) System.out.print(numcopy[j]+" "); System.out.println(); //输出数组numcopy System.arraycopy(num,0,num,3,2); for(int i=0;i<num.length;i++) System.out.print(num[i]+" "); System.out.println(); //自我复制,从位置0开始复制长度为2到位置3 //并输出 System.arraycopy(num,0,numcopy,3,2); for(int j=0;j<num.length;j++) System.out.print(numcopy[j]+" "); System.out.println(); //复制到numcopy数组,从位置0开始复制长度为2到位置3 //并输出 }}
运行结果如图
有错误或者不足希望大家指出
1 0
- Java数组复制(拷贝)
- Java对象复制和数组复制(拷贝)
- JAVA中复制数组、对象数组拷贝
- Java数组拷贝/复制的效率比较
- Java数组拷贝/复制的效率比较
- java深浅拷贝(复制)
- java深浅拷贝(复制)
- java数组复制的4种方式,java数组拷贝问题
- javascript 数组以及对象的深拷贝(复制数组或复制对象)的方法
- javascript 数组以及对象的深拷贝(复制数组或复制对象)的方法
- javascript 数组以及对象的深拷贝(复制数组或复制对象)的方法
- javascript 数组以及对象的深拷贝(复制数组或复制对象)的方法
- java拷贝数组(深拷贝)
- 浅谈java中的浅拷贝(浅复制)和深拷贝(深复制)
- Java 潜拷贝和深拷贝(浅复制和深复制)
- java 多线程拷贝copy 复制
- Java中实现复制的集中方式,深拷贝(深复制)和浅拷贝(浅复制)
- Java 数组 的 拷贝
- Codeforces777C Alyona and Spreadsheet
- servlet+mysql登入验证
- 面向对象—继承概述
- web.xml中load-on-startup标签的含义
- Jni遇到一些坑
- Java数组复制(拷贝)
- 【Django】-- 访问不了css, js等静态文件
- PyQt4学习日记2
- C/C++如何实现随机数
- 75-Unix 域字节流回射服务器
- input file 上传图片预览
- 日常总结
- PowerDesigner最基础的使用方法入门学习
- 编译原理,自上而下非递归语法分析自上而下的语法分析