Java-数组有关
1.复制数组
复制数组主要有三类方法:
1.使用循环语句逐个赋值数组元素
2.使用System类中的静态方法arraycopy
3.使用clone方法复制数组
对于2,详述如下:
arraycopy(sourceArray, srcPos, targetArray, tarPos, length);
//sourceArray:原数组; targetArray:目标数组
//srcPos: 原起始位置; tarPos: 目标起始位置
//length: 从原数组赋值给目标数组的元素个数
eg.将a数组复制给b数组
int[] a = new int{1,2};
int[] b = new int[];
arraycopy(a, 0, b, 0, a.length);
注:b=a;
对数组之间使用赋值运算符并不能将数组内容复制,只是将a数组的引用值赋值给了b
此时a,b都指向同一个数组,b数组原视指向内容变成垃圾,被Java虚拟机自动回收(垃圾回收)
2.数组与方法
1.区别于基本数据类型传递:
- 对于基本数据类型: 传递给方法的实参的值. (方法中数据值改变不会影响源数据)
- 对于数组类型参数: 参数值数驻足的引用,给方法传递的是这个引用. (方法中的数组和传递的数组是一样的,为同一个引用)
2.方法返回数组
- 当方法返回一个数组时,其返回的数组的引用.
3.Arrays类
包含一些常用的数组操作(排序,查找...)
- 排序: Arrays.sort(list); //返回数组
- 查找(二分): binarySearch(list, val); //返回下标
- fill(list, val); //填充元素
- toString(list); //返回字符串[x, x, x, ...]

浙公网安备 33010602011771号