C#中的集合

1.集合的简介
集合与数组比较类似,都用于存放一组值,但集合中提供了特定的方法能直接操作集合中的 数据,并提供了不同的集合类来实现特定的功能。 集合简单的说就是数组的升级版。他可以动态的对集合的长度(也就是集合内最大元素的个 数)进行定义和维护! 所有集合类或与集合相关的接口命名空间都是 System.Collection。

在该命名空间中提供的常用接口如下表所示:
IEnumerable:用于迭代集合中的项,该接口是一种声明式的接口
IEnumerator:用于迭代集合中的项,该接口是一种实现式的接口
ICollection:.NET 提供的标准集合接口,所有的集合类都会直接或间接地实现这个接口
ILis:继承自 IEnumerable 和 ICollection 接口,用于提供集合的项列表,并允许访问、 查找集合中的项
IDictionary:继承自 IEnumerable 和 ICollection 接口,与 IList 接口提供的功能类似,但集 合 中的项是以键值对的形式存取的
IDictionaryEnumerator:用于迭代 IDictionary 接口类型的集合

2.动态数组
C# ArrayList 类(动态数组)是一个最常用的集合类,与数组的操作方法也是最类似的。
ArrayList 代表了可被单独索引的对象的有序集合。它基本上可以替代一个数组。与其他数组不同的是ArrayList可以使用索引添加和移除项目,同时允许列表进行动态内存分配、增加、搜索、排序等。
构造方法:
ArrayList() 创建 ArrayList 的实例,集合的容量是默认初始容量
ArrayList(ICollection c) 创建 ArrayList 的实例,该实例包含从指定实例中复制的元素,并且初始容量 与复制的元素个数相同
ArrayList(int capacity) 创建 ArrayList 的实例,并设置其初始容量

3.队列
Queue (队列) 是常见的数据结构之一,队列是一种先进先出的结构,即元素从队列尾部插 入,从队列的头部移除,类似于日常生活中的站队,先到先得的效果。 集合中的 Queue 类模拟了队列操作,提供了队列中常用的属性和方法。
构造方法:
Queue():集合的容量是默认初始容量 32 个元素,使用默认的增长因子
Queue(ICollection col):该实例包含从指定实例中复制的元素,并且初始容量与复制的元素 个数、增长因子相同
Queue(int capacity):设置其指定的元素个数,默认增长因子
Queue(int capacity, float growFactor):设置其指定的元素个数和增长因子

4.堆栈
Stack (栈)是常见的数据结构之一,栈是一种先进后出的结构,即元素从栈的尾部插入,从 栈的尾部移除,类似于日常生活中搬家的时候装车,先装上车的东西要后拿下来
构造方法:
Stack():使用初始容量创建 Stack 的对象
Stack(ICollection col):实例包含从指定实例中复制的元素,并且初始容量与复制的元素 个数、增长因子相同
Stack(int capacity):创建 Stack 的实例,并设置其初始容量

5.哈希表
Hashtable 类实现了 IDictionary 接口,集合中的值都是以键值对的形式存取的。元素顺序 根据key的hash值进行排列,在集合中使用键值对(key/value)的 形式存放值。
方法:
Count 集合中存放的元素的实际个数
void Add(object key,object value):向集合中添加元素
void Remove(object key):根据指定的 key 值移除对应的集合元素
void Clear():清空集合
ContainsKey: (object key) 判断集合中是否包含指定 key 值的元素
ContainsValue:(object value) 判断集合中是否包含指定 value 值的元素

6.有序列表
SortedList 类实现了 IDictionary 接口 ,集合中的值都是以键值对的形式存取的。 C# SortedList 称为有序列表,按照 key 值对集合中的元素排序。
方法:
Count:集合中存放的元素的实际个数
void Add(object key,object value):向集合中添加元素
void Remove(object key) :根据指定的 key 值移除对应的集合元素
void Clear():清空集合
ContainsKey (object key):判断集合中是否包含指定 key 值的元素
ContainsValue(object value):判断集合中是否包含指定 value 值的元素

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汝甚骚吾不及

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值