1.System.Collection 类名空间
ArrayList 类
ArrayList 不能加泛型
注意与List类的区别
BitArray 类
BitArray类是一个比特数组,数组的大小在创建对象的时候已经确定,每个数据元素只能表示一个比特,元素的值只能是1与0,其中用true表示1,用false表示0,当用其他数据类型的元素初始化该对象时,那么每个元素将占用该类型在内存中存储长度的数组空间。
and(BitArray value) BitArray中的元素执行按位“与”运算
not() 取反
or(BitArray value) 按位或运算
Xor(BitArray value) 按位异或运算
get(int index)/set(int index,bool value) 获取或设计特定位置处的位设置为指定值
HashTable 类
每个元素为DictionaryEntry 的键值对,键不能为空,值可以。用作 Hashtable 中的键的对象必须实现或继承 Object.GetHashCode 和 Object.Equals 方法。
遍历二种方式:
a:
..........
IDictionaryEnumerator myEnumerator = myHT.GetEnumerator();
while(myEnumerator .MoveNext())
{
Console.WriteLine("/t{0}:/t{1}", myEnumerator.Key, myEnumerator.Value);
}
b:
foreach(DictionaryEntry entry in myHT)
实现可排序Hashtable
即SortedList
SortedList 类
SortedList 在内部维护两个数组以将数组存储到列表中;即,一个数组用于键,另一个数组用于相关联的值。每个元素都是一个可作为 DictionaryEntry 对象进行访问的键/值对。键不能为空引用(Visual Basic 中为 Nothing),但值可以。
SortedList 的容量是列表可拥有的元素数。随着向 SortedList 中添加元素,容量通过重新分配按需自动增加。可通过调用 TrimToSize或通过显式设置 Capacity 属性减少容量。
SortedList 的元素将按照特定的 IComparer 实现(在创建 SortedList 时指定)或按照键本身提供的 IComparable 实现并依据键来进行排序。不论在哪种情况下,SortedList 都不允许重复键。索引顺序基于排序顺序。当添加元素时,元素将按正确的排序顺序插入 SortedList,同时索引会相应地进行调整。若移除了元素,索引也会相应地进行调整。因此,当在 SortedList 中添加或移除元素时,特定键/值对的索引可能会更改。由于要进行排序,所以在 SortedList 上操作比在 Hashtable 上操作要慢。但是,SortedList 允许通过相关联键或通过索引对值进行。
Queue 类
先进先出
应用场景如消息,任务的处理。当当前处理的任务需要花费一点时间,又有后续的任务需要处理的时候,将任务放入队列,逐个进行处理。
Stack 类
后进先出
典型的应用场景是浏览器的后退功能。用于访问最新的元素时使用。