import java.util.Arrays;
/*
* 数组的扩容
* 1、Arrays.copyOf():数组拷贝+扩容
* 2、
* System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
* System.arraycopy(源数组, 源起始位置, 目标数组,目标起始位置, 拷贝长度)
* 自己拷贝给自己
* */
public class ArraysLarger {
public static void main(String[] args) {
int[] arr = { 1, 2, 3, 4, 5, 6 };
// 数组扩容前
System.out.println("数组扩容前:" + Arrays.toString(arr));
// 数组扩容后
arr = Arrays.copyOf(arr, arr.length + 5);
System.out.println("数组扩容后:" + Arrays.toString(arr));
/*
* 在 索引 2 的位置 插入 9 1,2,3,4,5,6 0 0 0 0 0 -->1 2 9 3 4 5 6 0 0 0 0 思路:
* 1、长度是否足够 才能插入,不够 扩容 2、拷贝数组 +移动位置 +覆盖 拷贝数组 +移动位置 1,2,3,4,5,6 0 0 0 0 0 --->1 2 3 3 4 5 6 0 0 0 0
*/
// 移动位置后
System.arraycopy(arr, 2, arr, 3, 4);
System.out.println("移动位置后:" + Arrays.toString(arr));
// 覆盖
arr[2] = 9;
System.out.println("覆盖后:" + Arrays.toString(arr));
}
}