ArrayList是一个长度可变的数组,那么它的容量是怎么变化的呢?先看下面一段程序:

关于ArrayList对象的容量Capacityusing System;
关于ArrayList对象的容量Capacity
using System.Collections.Generic;
关于ArrayList对象的容量Capacity
using System.Text;
关于ArrayList对象的容量Capacity
using System.Collections;
关于ArrayList对象的容量Capacity
关于ArrayList对象的容量Capacity
namespace AboutArrayList
}

  运行结果如下:
关于ArrayList对象的容量Capacityal.Capacity = 0
关于ArrayList对象的容量Capacity
关于ArrayList对象的容量Capacityi = 0
关于ArrayList对象的容量Capacityal.Capacity = 4
关于ArrayList对象的容量Capacity
关于ArrayList对象的容量Capacityi = 4
关于ArrayList对象的容量Capacityal.Capacity = 8
关于ArrayList对象的容量Capacity
关于ArrayList对象的容量Capacityi = 8
关于ArrayList对象的容量Capacityal.Capacity = 16
关于ArrayList对象的容量Capacity
关于ArrayList对象的容量Capacityi = 16
关于ArrayList对象的容量Capacityal.Capacity = 32
关于ArrayList对象的容量Capacity
关于ArrayList对象的容量Capacityi = 32
关于ArrayList对象的容量Capacityal.Capacity = 64
关于ArrayList对象的容量Capacity
关于ArrayList对象的容量Capacityi = 64
关于ArrayList对象的容量Capacityal.Capacity = 128
关于ArrayList对象的容量Capacity
关于ArrayList对象的容量Capacityi = 128
关于ArrayList对象的容量Capacityal.Capacity = 256

  可以发现ArrayList的容量是成倍增长的。也就是说如果给ArrayList添加一项,但其内部数组已经没有空间了,ArrayList就会把内部数组的大小加倍倍,给新项腾出空间。

  顺便记录一下重新设置数组大小的方法:
  一、VB.NET代码
关于ArrayList对象的容量CapacityDim intArray As New int(1,2,3);
关于ArrayList对象的容量Capacity
ReDim int intArray(5);

  二、C#代码
Array.Copy(intArray,intArray2,intArray.Length);

相关文章: