C# 集合
集合
集合类专门用于数据存储和数据检索,并提供堆栈、队列、列表和哈希表的支持。目前,大多数集合类都实现了相同的接口。
集合类服务于不同的目的,如为元素动态分配内存,基于索引访问列表项等等,这些类所创建的是 Object 类的对象的集合。在 C# 中,Object 类是所有数据类型的基类。
各种集合类及其用法
下表为一些常用的以 System.Collection 为命名空间的集合类,点击相应链接,可查看详细说明。
类 | 描述及用法 |
---|---|
动态数组 | 动态数组表示可被单独索引的对象的有序集合。 动态数组基本上可以替代数组,但与数组不同的是,通过索引,动态数组可以在指定的位置添加和移除项目,且会自动重新调整大小,同样允许在列表中进行动态内存分配、增加、搜索、排序各项。 |
哈希表 | 哈希表使用键来访问集合中的元素。 当需要通过键访问元素时,则使用哈希表,且一个有用的键值可以很方便地被识别。哈希表中的每一项都有一个键/值对。键用于访问集合中的项目。 |
排序列表 | 排序列表使用键和索引来访问列表中的项。 它是数组和哈希表的组合,包含一个可使用键或索引访问各项的列表。若使用索引来访问各项,则它为一个动态数组,若使用键来访问各项,则它为一个哈希表。集合中的各项总是按键值排序。 |
堆栈 | 堆栈表示的是一个后进先出的对象集合。 当需要对各项进行后进先出的访问时,则使用堆栈。在列表中添加一项,称为推入元素;从列表中移除一项时,称为弹出元素。 |
队列 | 队列表示的是一个先进先出的对象集合。 当需要对各项进行先进先出的访问时,则使用队列。在列表中添加一项,称为入队;从列表中移除一项,称为出队。 |
点阵列 | 点阵列表示的是一个使用值 1 和 0 来表示的二进制数组。 当需要存储位,但事先不知道位数时,则使用点阵列。通过整型索引,可以从点阵列集合中访问各项,该索引值从零开始。 |