转自: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]); }