C#动态数组ArrayList的用法

2011-03-24 22:15:44|?次阅读|上传:wustguangh【已有?条评论】发表评论

关键词:C#|来源:唯设编程网

六、ArrayList中元素查找

6.1. 普通顺序查找

a) public virtual int IndexOf(object);

b) public virtual int IndexOf(object,int);

c) public virtual int IndexOf(object,int,int);

返回ArrayList或它的一部分中某个值的第一个匹配项的从零开始的索引。没找到返回-1。示例:

ArrayList aList=new ArrayList();
aList.Add("a");
aList.Add("b");
aList.Add("c");
aList.Add("d");
aList.Add("e");
intnIndex=aList.IndexOf(“a”);//1
nIndex=aList.IndexOf(“p”);//没找到,-1
6.2. 逆序查找元素

d) public virtual int LastIndexOf(object);

e) public virtual int LastIndexOf(object,int);

f) public virtual int LastIndexOf(object,int,int);

返回ArrayList或它的一部分中某个值的最后一个匹配项的从零开始的索引。示例:

ArrayList aList=new ArrayList();
aList.Add("a");
aList.Add("b");
aList.Add("a");//同0
aList.Add("d");
aList.Add("e");
intnIndex=aList.LastIndexOf("a");//值为2而不是0
6.3. 判断元素是否存在列表中

g) 确定某个元素是否在ArrayList中。

public virtual bool Contains(objectitem);

包含返回true,否则返回false

七、获取数组中的元素

获取ArrayList中的元素使用下标即可,与普通数组使用方法一样,下面以整数列表为例,给出获取某个元素的值的方法:

ArrayList aList=new ArrayList();
for(int i=0;i<10;i++)
     aList.Add(i);
//获取的方式基本与一般的数组相同,使用下标的方式进行
for(i=0;i<10;i++)
    Textbox1.text+=(int)aList[i]+" ";

结果为:0 1 2 3 4 5 6 7 8 9

八、其他使用

8.1.获取或设置ArrayList可包含的元素数。
public virtual intCapacity{get;set;}
8.2.获取ArrayList中实际包含的元素数。
public virtual intCount{get;}

Capacity是ArrayList可以存储的元素数。Count是ArrayList中实际包含的元素数。Capacity总是大于或等于Count。如果在添加元素时,Count超过Capacity,则该列表的容量会通过自动重新分配内部数组加倍。

如果Capacity的值显式设置,则内部数组也需要重新分配以容纳指定的容量。如果Capacity被显式设置为0,则公共语言运行库将其设置为默认容量。默认容量为16。

在调用Clear后,Count为0,而此时Capacity切是默认容量16,而不是0

8.3.将容量设置为ArrayList中元素的实际数量。
public virtual void TrimToSize();

如果不向列表中添加新元素,则此方法可用于最小化列表的内存系统开销。若要完全清除列表中的所有元素,请在调用TrimToSize之前调用Clear方法。截去空ArrayList会将ArrayList的容量设置为默认容量,而不是零。

示例:

ArrayList aList=new ArrayList();
aList.Add("a");
aList.Add("b");
aList.Add("c");
aList.Add("d");
aList.Add("e");//Count=5,Capacity=16,
aList.TrimToSize();//Count=Capacity=5;
<123>
发表评论0条 】
网友评论(共?条评论)..
C#动态数组ArrayList的用法