Java数组扩容的原理
1)Java数组对象的大小是固定不变的,数组对象是不可扩容的。
2)利用数组复制方法可以变通的实现数组扩容。
3)System.arraycopy()可以复制数组。
4)Arrays.copyOf()可以简便的创建数组副本。
5)创建数组副本的同时将数组长度增加就变通的实现了数组的扩容。
使用Arrays.copyOf:
int [] ints= new int[10];
System.out.println(ints.length);
//通过数组的copy 来实现数组的扩容
//参数一代表是需要扩容的数组名,参数二新数组的长度
int[] ints1 = Arrays.copyOf(ints, 20);
System.out.println(ints1.length);
System.arraycopy()可以复制数组。
System.arraycopy(原数组名,起始下标,新数组名,起始下标,复制长度);
创建数组副本的同时将数组长度增加就变通的实现了数组的扩容。
int [] ints= new int[10];
System.out.println(ints.length);
int [] ints1=new int[ints.length*2];
//使用数组的复制
for (int i = 0; i < ints1.length; i++) {
ints1[i]=ints[i];
}