JAVA Arrays工具类 copyOf、copyOfRange、sort方法(Tedu)
package cn.tedu.array2;
import java.lang.reflect.Array;
import java.util.Arrays;
/**本类用于测试数组工具类之数组的复制 扩容 缩容*/
public class TestArrays {
public static void main(String[] args) {
//1.创建原数组
int[] from = {1,2,3,4,5};/**数组一旦创建,长度不可改变 */
int[] to1 = Arrays.copyOf(from,5);
//2.1数组的普通复制
/**copyOf()用于完成数组的复制,两个参数:
* 参数1:要复制哪个数组
* 参数2:新数组的长度*/
System.out.println(from);//[I@15db9742
System.out.println(to1);//[I@6d06d69c
System.out.println(Arrays.toString(from));//[1, 2, 3, 4, 5]
System.out.println(Arrays.toString(to1));//[1, 2, 3, 4, 5]
//2.2完成数组的扩容
/**扩容:给数组扩大容量,新数组长度>原数组长度
* 扩容思路:先创建对应长度的新数组,每个位置都有对应类型的默认值
* 然后从原数组中所有元素复制到新数组,没有被覆盖的位置还是默认值0*/
int[] to2 = Arrays.copyOf(from, 10);
System.out.println(Arrays.toString(to2));
//2.3完成数组的缩容
/**缩容:缩小数组的容量,新数组长度<原数组长度
* 缩容思路:先创建对应长度的新数组,每个位置赋予默认值0
* 然后从原数组中复制指定个数的元素到新数组中,类似于截取*/
int[] to3=Arrays.copyOf(from,3);
System.out.println(Arrays.toString(to3));
//2.4指定首尾截取数组中的元素
/**copyOfRange,用于完成数组的截取,3个参数
* 参数1:要截取哪个数组[原数组]
* 参数2:从原数组的哪个下标开始[包含]
* 参数3:到原数组的哪个下标结束[不包含]*/
int[] to4 = Arrays.copyOfRange(from, 2, 4);
System.out.println(Arrays.toString(to4));
}
}
Arrays.sort()方法
package cn.tedu.review;
import java.util.Arrays;
public class Demo {
public static void main(String[] args) {
int[] a = {
34,67,98,187,67};
Arrays.sort(a);
System.out.println(Arrays.toString(a));
}
}