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

发表回复