数组Arrays
Arrays是针对数组的工具类,可以进行 排序,查找,复制填充等功能。 大大提高了开发人员的工作效率。
1. 数组复制
1.1 概述
- 与使用System.arraycopy进行数组复制类似的, Arrays提供了一个copyOfRange方法进行数组复制。
- 不同的是System.arraycopy,需要事先准备好目标数组,并分配长度。
- copyOfRange 只需要源数组就就可以了,通过返回值,就能够得到目标数组了。
1.2 用法
- System.arraycopy(int[] original, int from1, int[] object, int from2,int length)
-
// 第一个参数表示源数组的名称 // 第二个参数表示开始位置(取得到),即复制的数组中包含源数组的第from1个元素 // 第三个参数表示目标数组,即复制操作完成后得到的数组 // 第四个参数表示目标数组的起始位置,即源数组复制过来的元素从目标数组的第from2位开始存储 //第五个参数表示数组复制的长度
- int [] object =copyOfRange(int[] original, int from, int to)
-
//object指目标数组,即复制操作完成后得到的数组 // 第一个参数表示源数组的名称 // 第二个参数表示开始位置(取得到),即复制的数组中包含源数组的第from个元素 // 第三个参数表示结束位置(取不到),即复制的数组中不包含源数组的第to个元素
1.3 程序范例
给定数组A={16,8,4,15,14}和B={2,1,5,11,22,45},利用数组复制操作输出数组C={16,8,4,2,1}。
1.3.1 利用System.arraycopy实现
import java.util.Arrays;// import的使用引入Arrays类
public class HelloWorld {
public static void main(String[] args) {
int a[] = new int[] {16,8,4,15,14};
int b[] = new int[]{2,1,5,11,22,45};
int e[]=new int[5];
System.arraycopy(a, 0, e, 0, 3);
System.arraycopy(b, 0, e, 3, 2);
//增强型for循环
for (int ee:e)
System.out.print(ee + " ");
}
}