转自:http://www.java265.com/JavaJingYan/202111/16357342581649.html
数组是Java开发中非常重要的一个数据存储容器,
那可以存储多种类型,基础类型,引用类型,但是它有一个缺点,就是一旦创建后,就不可以修改数组的大小,
那么我们如何动态的扩容数组的大小呢?下文将一一道来,如下所示:
下文笔者讲述使用Java代码修改数组大小的方法分享,如下所示:
实现思路:
1.新建指定容量大小的数组
2.将原数组复制到新数组中
采用以上方式,可变相的实现数组的扩容
例:
数组的扩容的示例分享
private static Object resizeArray (Object oldArray, int newSize) {
int oldSize = java.lang.reflect.Array.getLength(oldArray);
Class elementType = oldArray.getClass().getComponentType();
Object newArray = java.lang.reflect.Array.newInstance(
elementType,newSize);
int preserveLength = Math.min(oldSize,newSize);
if (preserveLength > 0)
System.arraycopy (oldArray,0,newArray,0,preserveLength);
return newArray;
}
public static void main (String[] args) {
int[] a = {1,2,3};
a = (int[])resizeArray(a,5);
a[3] = 4;
a[4] = 5;
for (int i=0; i<a.length; i++)
System.out.println (a[i]);
}