- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 C#中的集合 5.1 集合接口 5.2 常用集合类型 集合是指一组对象,它们可以包含其他对象数组,还可以包含控制访问这些对象的功能。 5.1 集合接口 1、System.Collections.IEnumerable接口 该接口公开一个方法,以支持在集合上进行简单遍历。在集合中遍历元素是很常用的一个功能,大部分表示一个元素序列或元素集合的类(包括String类)都实现了这个接口。 方法GetEnumerator() 是该接口唯一的公共方法。该方法没有任何参数,返回可循环访问集合的枚举数或者说是IEnumerator对象,其语法格式如下: IEnumerator GetEnumerator() 2、System.Collections.IEnumerator接口 该接口支持在集合上进行简单遍历。其属性Current用于获取集合中的当前元素。方法MoveNext()方法将枚举数推进到下一个元素。方法Reset()将枚举数设置为其初始位置,该位置位于集合中第一个元素之前。 MoveNext()方法的返回值是true或者是false,返回false则表示我们已经遍历了集合中所有的元素,枚举数指示在集合中最后一个元素后面,这是如果再调用Current属性则会返回错误。 3、System.Collections.ICollection接口 该接口继承于IEnumerator接口,定义了所有集合的大小、枚举数和同步方法。 4、System.Collections.IComparer接口 该接口公开了比较两个对象的方法。默认实现为 Comparer类。该接口只有一个成员,就是Compare方法。该方法比较两个对象并返回一个值,指示一个对象是小于、等于还是大于另一个对象。如果比较两个对象X和Y,小于0则XY、等于0则X=Y、大于0则XY。其语法格式如下: int Compare(object x,object y) 5、System.Collections.IList接口 IList继承于IEnumerable和ICollection 接口,并且是所有非泛型列表的基接口。IList 实现有三种类别:只读、固定大小和可变大小。无法修改只读 IList。固定大小的 IList 不允许添加或移除元素,但允许修改现有元素。可变大小的 IList 允许添加、移除和修改元素。实现Ilist接口的类包括Array和ArrayList等。 【例5-1】在自定义固定大小的列表类中实现IList接口。 5.2 常用集合类型 5.2.1 System.Collections.ArrayList类 5.2.2 System.Collections.Stack类 5.2.3 System.Collections. Queue类 5.2.4 System.Collections.SortedList类 5.2.1 System.Collections.ArrayList类 该类实现了IList接口。该类的容量,也即该列表所能包含的元素数,其大小可按需动态增加。可通过调用TrimToSize()或Capacity属性减少容量。该类的元素索引从0开始,即列表中的头一个元素的索引是0。该类允许重复元素并且接受空引用。 【例5-2】使用ArrayList类完成与例4-26类似的功能。 ArryList类包含的主要属性有: Count属性 Capacity属性 IsFixedSize属性 IsReadOnly属性 ArryList类包含的常用方法有: Add方法 Sort方法 BinarySearch方法 【例5-3】建立一个雇员类,把该类的对象加入到一个ArrayList中去形成一个雇员列表,再对雇员列表中的对象按照雇员年龄排序。 5.5.2 System.Collections.Stack类 栈是一种数据结构,是只能在某一端插入和删除的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,栈底固定,而栈顶浮动;栈中元素个数为零时称为空栈。向表中插入数据一般称为进栈(PUSH),删除则称为退栈(POP)。 栈也称为后进先出表(LIFO表)。 【例5-4】Stack类演示实例。 5.2.3 System.Collections. Queue类 队列是一种特殊的线性表,对这种线性表,删除操作只在表头(称为队头)进行,插入操作只在表尾(称为队尾)进行。队列的修改是按先进先出的原则进行的,所以队列又称为先进先出(First In First Out)表,简称FIFO表。 【例5-5】Queue类演示实例。 5.2.4 System.Collections.SortedList类 【例
您可能关注的文档
- C#程序设计电子教案杨克玉 第1章 认识Visual C#.ppt
- C#程序设计电子教案杨克玉 第2章 C#编程基础.ppt
- C#程序设计电子教案杨克玉 第4章 数组.ppt
- C#程序设计电子教案杨克玉 第5章 面向对象程序设计.ppt
- C#程序设计电子教案杨克玉 第6章 WinForm应用程序设计.ppt
- C#程序设计电子教案杨克玉 第7章 ADO.NET数据库访问技术.ppt
- C#程序设计电子教案杨克玉 第8章 三层架构的ADO.NET数据库编程.ppt
- C#程序设计电子教案杨克玉 第9章 水晶报表及产品发布.ppt
- C#程序设计基础 教学课件 作者 熊壮 第0章:C#程序设计课程简介.ppt
- C#程序设计基础 教学课件 作者 熊壮 第1章:C#及Visual Studio 2010开发环境介绍.ppt
- 5G网络深化,2025年边缘计算在虚拟现实增强现实领域的应用前景研究报告.docx
- 银发金融行业合规管理与风险防范白皮书.docx
- 税务行业智能化税务筹划方案.doc
- 智能制造2025年工业软件发展现状与未来趋势白皮书.docx
- 2025年城市供水厂自动化系统设计与智慧供水管理评估.docx
- 文化创意产业园区建筑雨水收集与利用系统设计评估报告.docx
- 2024-2025学年初中综合实践活动八年级粤教版(2005)教学设计合集.docx
- 2025年房地产市场成交数据房地产企业战略布局归因分析报告.docx
- 工业互联网平台在智能建筑领域的跨行业应用拓展与通用化能力分析报告.docx
- 深度解析:2025年工业互联网平台如何推动传统制造业数字化转型报告.docx
文档评论(0)