1、什么是ArrayList
ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处:
动态的增加和减少元素;实现了ICollection和IList接口;灵活的设置数组的大小。
2、如何使用ArrayList
最简单的例子:
ArrayList List = new ArrayList();
for( int i=0;i10;i++ ) //给数组增加10个Int元素
List.Add(i);
//..程序做一些处理
List.RemoveAt(5);//将第6个元素移除
for( int i=0;i3;i++ ) //再增加3个元素
List.Add(i+20);
Int32[] values = (Int32[])List.ToArray(typeof(Int32));//返回ArrayList包含的数组
这是一个简单的例子,虽然没有包含ArrayList所有的方法,但是可以反映出ArrayList最常用的用法。
C# 不支持动态数组,用 ArrayList 可以实现动态数组的功能。
ArrayList 的名称空间是 System.Collections。
ArrayList 元素类型
和数组不同,ArrayList 的各个元素的类型可以不同。
声明对象
//声明 ArrayList 有三种重载方法,较常用的有两种
ArrayList al = new ArrayList();
ArrayList al = new ArrayList(3);
上例中,参数值 3 表示容量,即可以容纳多少个元素。
ArrayList对象就是一个可变长的数组,可以根据需要添加元素.使用ArrayList的方法可以向数组列表中添加元素,或取出,修改某个元素.
如:
ArrayList MyArrayList = new ArrayList();
MyArrayList.add("Caoxi");
MyArrayList.Clear();
ArrayList中取出的对象都是object类型,使用前要将其转换成合适的类型.
ArrayList theArrayList = new ArrayList();
theArrayList.Add("1");
theArrayList.Add("2");
string s = (string)theArrayList[0];
string s1 = (string)theArrayList[1];
注意Contains()方法 如果ArrayList中包含参数提供的对象,则返回true,否则返回false
if (theArrayList.Contains("1")) //判断字符"1"是否存在于ArrayList
---------------------------------------------------------------------------------------------
在C#当中,集合有我们常用C# Arraylist(动态数组),Hashtable(关健字和值的查找表)和不常用的BitArray(位数组),Queue(先进先出的集合),SortedList(有序例表),Stack(后进先出的栈)等等。
其实集合就是将一组有序的数据组合在一起并能对其进行有效的处理。在这里我们主要介绍常用C# Arraylist与Hashtable。