Queue\Stack

 集合和列表
2. System.Collections命名空间
c) ICollection
d) Lists和IList
e) 字典和IDictionary
f) 散列表
g) SortedList
h) Queue和Stack

ICollection接口
扩展了接口INumerable,扩展了属性Count,
IsSynchronized和SyncRoot,另外还增加了方法
CopyTo,在对象数组和对象的ICollection之间
架起了桥梁。

后面会学到的IDictionary和IList接口,它们是
扩展了ICollection的专用接口,前者实现一个
关键字/值对集合,与后面会学到的Hashtable
类似;后者是一个值集合,其成员可以通过索
引访问,也可以通过方法来访问,如ArrayList。

Lists和IList
IList扩展了ICollection,而ICollection扩展了
IEnumerable。IList定义了许多直观的方法,如
Add、Remove、Insert和Clear等;还有
IsFixedSize、IsReadOnly和Item属性,其中
Item属性使得类可以很方便的使用索引器的方
式访问其中的元素。

Lists(IList)有3种形式:只读IList、大小固定
的IList和可变的IList。

字典和IDictionary

IDictionary扩展了ICollection,但不表示可以索引
的一组对象,每个元素都是一个存储在
DictionaryEntry(结构) 对象中的关键字/值对
集合。其Add方法也把关键字和值作为参数。
Item属性索引器也按照关键字来索引。

.NET中许多类都实现了IDictionary接口,如
Hashtable、SortedList等。

使用散列表的一个要点:
Hashtable实现了IDictionary接口,因此在Hashtable中
存储的是DictionaryEntry,而使用foreach 语句时,需
要集合中每个元素的类型。由于 Hashtable 的每个元
素都是一个键/值对,因此元素类型既不是键的类型,
也不是值的类型。而是 DictionaryEntry 类型。

SortedList与Hashtable类似,也是一个关键字/值对的
集合,但它按照其关键字来排序,其值可以通过数字
索引来处理,与数组一样。
可以使用其IndexOfKey方法获取关键字对应的索引号。
构造SortedList时,可以使用默认构造函数,也可以使
用IDictionary作为其参数。

Queue表示对象的先进先出集合。队列在按接收顺序
存储消息方面非常有用,以便于进行顺序处理。此类
将队列作为循环数组实现。存储在 Queue 中的对象在
一端插入,从另一端移除。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值