集合介绍:
集合与数组相类似,都是用于存放一组值,但集合中提供了特定的方法能直接操作数据,并提供了不同的集合类来实现特定的功能
集合的基本信息:
1、BCL中集合类型分为泛型集合与非泛型集合。
2、非泛型集合的类和接口位于System.Collections命名空间。
3、泛型集合的类和接口位于System.Collections.Generic命名空间。
在命名空间中常用的接口
下面是各种常用的命名空间的类细节。
1.动态数组(ArrayList) 它代表了可被单独索引的对象的有序集合。
数组的容量是固定的,而ArrayList的容量可以根据需要自动扩充。提供添加,删除和插入某一范围元素的方法,但在数组中,只能一次获取或设置一个元素的值。提供将只读和固定大小包装返回到集合的方法,而数组不提供。
ArrayList只能是一维形式,而数组可以
声明ArrayList对象:
ArrayList arrayList = new ArrayList();
2.哈希表(Hashtable) 表示键/值对的集合,这些键/值对根据键的哈希代码进行组织。它的每一个元素都是一个存储在DictionaryEntry对象中的键/值对。键不能为空引用,但值可以。
声明HashTable对象:
Hashtable hashtable = new Hashtable();
3.排序列表(SortedList) 它可以使用键和索引来访问列表中的项。
排序列表是数组和哈希表的组合。它包含一个可使用键或索引访问各项的列表。如果您使用索引访问各项,则它是一个动态数组,如果使用键访问各项,则它是一个哈希表。集合中的各项总是按键值排序。
声明SortedList对象:
SortedList sl= new SortedList();
4.堆栈(Stack) 它代表了一个后进先出的对象集合。
当您需要对各项进行后进先出的访问时,则使用堆栈。在列表中添加一项,称为推入元素,当您从列表中移除一项时,称为弹出元素。
声明Stack对象:
Stack st= new Stack();
5.队列(Queue) 它代表了一个先进先出的对象集合。
当您需要对各项进行先进先出的访问时,则使用队列。在列表中添加一项,称为入队,当您从列表中移除一项时,称为出队。
声明对象:
Queue queue = new Queue();
6.点阵列(BitArray) 它代表了一个使用值 1 和 0 来表示的二进制数组。
当您需要存储位,但是事先不知道位数时,则使用点阵列。可以使用整型索引从点阵列集合中访问各项,索引从零开始
声明对象:
Queue BitArray = new BitArray ();