ArrayList就是传说中的动态数组,用
MSDN中的说法,就是
Array的复杂版本,它提供了动态的增加和减少元素,实现了
ICollection和
IList接口,灵活的设置数组的大小等好处。
下面介绍一些arraylist的最基本的东西。
ArrayList的构造器
构造器函数 | 注释 |
public ArrayList(); | 默认的构造器,将会以默认(16)的大小来初始化内部的数组 |
public ArrayList(ICollection); | 用一个实现了ICollection接口的对象来构造,并将该集合的元素添加到ArrayList |
public ArrayList(int); | 用指定的大小来初始化内部的数组 |
ArrayList的属性
属性名 | 注释 |
Count | 目前ArrayList包含的元素的数量,这个属性是只读的。 |
Capacity | 目前ArrayList能够包含的最大数量,可以手动的设置这个属性,但是当设置为小于Count值的时候会引发一个异常。 |
说明:Capacity是ArrayList可以存储的元素数。Count是ArrayList中实际包含的元素数。Capacity总是大于或等于Count。如果在添加元素时,Count超过Capacity,则该列表的容量会自动加倍扩充。
如果Capacity的值显式设置,则内部数组也需要重新分配以容纳指定的容量。如果Capacity被显式设置为0,则公共语言运行库将其设置为默认容量。默认容量为16。
在调用Clear后,Count为0,而此时Capacity确是默认容量16,而不是0
ArrayList的方法
方法名 | 注释 |
Int Add(object value); | 用于添加一个元素到当前列表的末尾 |
| 用于添加一批元素到当前列表的末尾 |
Void Remove(object obj); | 用于删除一个元素,通过元素本身的引用来删除 |
Void RemoveAt(int index); | 用于删除一个元素,通过索引值来删除 |
Void RemoveRange(int index,int count); | 用于删除一批元素,通过指定开始的索引和删除的数量来删除 |
Void Insert(int index,object value) | 用于添加一个元素到指定位置,列表后面的元素依次往后移动 |
Void InsertRange(int index,Icollection collec) | 用于从指定位置开始添加一批元素,列表后面的元素依次往后移动 |
Void Sort() | 对ArrayList或它的一部分中的元素进行排序。 |
Void Reverse(); | 将ArrayList或它的一部分中元素的顺序反转。 |
Int IndexOf(object) Int IndexOf(object,int) Int IndexOf(object,int,int) | 返回ArrayList或它的一部分中某个值的第一个匹配项的从零开始的索引。没找到返回-1。 |
Int LastIndexOf(object) Int LastIndexOf (object,int) Int LastIndexOf (object,int,int) | 返回ArrayList或它的一部分中某个值的最后一个匹配项的从零开始的索引。没找到返回-1。 |
Bool Contains(object) | 确定某个元素是否在ArrayList中。包含返回true,否则返回false |
Void TrimSize() | 这个方法用于将ArrayList固定到实际元素的大小,当动态数组元素确定不在添加的时候,可以调用这个方法来释放空余的内存。 |
Void Clear(); | 清空ArrayList中的所有元素 |
Array ToArray() | 这个方法把ArrayList的元素Copy到一个新的数组中。 |
以上是对
ArrayList的基本了解,在做项目的时候遇到这样一个问题,就是我需要把一组实体加入到数据库中,可是这组实体并不是一次性写好的,也就是在界面上可以对实体组进行添加删除,当单击确定的时候再执行写入。当然,因为实体数量不限,所以用
ArrayList是一个很好的选择。
该贴被yi.liao编辑于2013-2-7 13:24:19