Arrays 类如何使用,数组的复制,数组排序,数组增加删除,变换位置

时间:2021-01-19 19:23:44

java.util.Arrays 

API 文档:此类包含用来操作数组(比如排序和搜索)的各种方法


常用方法方法的参数都是数组(字节数组,整形数组,浮点数组,字符数组,布尔数组)

方法1. copyOf(.....)                //用于数组的复制

方法2. copyOfRange(......)    //用于数组的复制

方法3. sort(......)                    //用于数组的排序

方法4. toString(......)              //用于数组的输出


用法方法的使用必须要用类去调用

方法4的用法:

int[] arr1 = { 10, 2, 33, 14, 50 };

//这样输出的是地址 [I@95cfbe
System.out.println( arr1 );
//这样输出的是是内容 [10, 2, 33, 14, 50]
System.out.println( Arrays.toString(arr1) );

方法3的用法:

int[] arr1 = { 10, 2, 33, 14, 50 };
//使用排序方法升序排列
Arrays.sort(arr1);
//输出结果是 [2, 10, 14, 33, 50]
System.out.println( Arrays.toString(arr1) );


方法2的用法:

int[] arr1 = { 10, 2, 33, 14, 50 };
int arr2[];//在此设置数组长度无效
// 使用复制函数 参数:是源数组,起始下标(包含),终止下标(不包含)
arr2 = Arrays.copyOfRange(arr1, 0, 3);
// 输出结果 [10, 2, 33]
System.out.println(Arrays.toString(arr2));
// 使用复制函数 参数:是源数组,起始下标(包含),终止下标(不包含)
arr2 = Arrays.copyOfRange(arr1, 2, 4);
// 输出结果 [33, 14]
System.out.println(Arrays.toString(arr2));

方法1的用法:

int[] arr1 = { 10, 2, 33, 14, 50 };
int arr2[];//在此设置数组长度无效
// 使用复制函数 参数:是源数组,新数组长度
arr2 = Arrays.copyOf(arr1, 3);
// 输出结果 [10, 2, 33]
System.out.println(Arrays.toString(arr2));
// 使用复制函数 参数:是源数组,新数组长度
arr2 = Arrays.copyOf(arr1, 10);
// 输出结果 [10, 2, 33, 14, 50, 0, 0, 0, 0, 0]
System.out.println(Arrays.toString(arr2));


另一个方法此方法与上面的方法没有关系,不在同一个包内,但是作用类似

int[] arr1 = { 10, 2, 33, 14, 50 };
int arr2[] = new int[10]; //需要设置数组长度

// 使用复制方法 参数: 源数组,原数组的起始位置,目标数组,目标数组的起始位置,需要复制的数字个数
System.arraycopy(arr1, 0, arr2, 0, 5);
// 结果为 [10, 2, 33, 14, 50, 0, 0, 0, 0, 0]
System.out.println(Arrays.toString(arr2));

// 使用复制方法 参数: 源数组,原数组的起始位置,目标数组,目标数组的起始位置,需要复制的数字个数
System.arraycopy(arr1, 0, arr2, 4, 5);
// 结果为 [0, 0, 0, 0, 10, 2, 33, 14, 50, 0]
System.out.println(Arrays.toString(arr2));