版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,C#计算机编程经典教程,第1,6章集合,索引器和泛型,1 .总体要求是。了解NET类库的集合类,并初步了解常用集合的创建和操作方式。理解索引器的概念有助于区分索引器和属性,了解索引器的定义和使用。理解泛型相关概念,初步掌握泛型介面、泛型类、泛型属性及泛型方法的使用。相关知识点熟悉类和数组的定义和使用。熟悉基本任务,如定义和使用类的方法成员。2,3。定义和使用学习重点集、索引器、泛型。4.学习难点索引器的作用、使用方法泛型概念和语义定义、泛型定义和使用方法、第6章集合、索引器和泛型、第3、6章集合、索引器和泛型、主要内容6.1集合6.2索引器6.3泛型、4、6.1集合、6.1.1集合概述6
2、. 1 . 2 ArrayList 6.2作业期间MyClass物件和Object物件之间的MyClass mcObj铺路:Object obj=mcObj(不需要明确转换)卸载:mcObj=(MyClass )obj(字典包装)物件类型集合是System .在集合命名空间上。6,6.1数组类Array,数组是简单的集合System .Array类。所有数组的基类(不能用于派生的特殊类),public abstract class Array 3360 I clone able,ilist/Void CopyTo(Array array,int index):bootoObject Synch
3、Rootget,interface iclone able object Clone();interface ilist : collection,ienumerable int add(obj dect value);void Clear();bool Contains(object value);Intindexof(物件值);Void remove(对象密钥);Void remove at(int index):Void insert(int index,对象值);interface ienumerator object current get;boolmovenext();Voidre
4、set(),interfaceienumerable/foreach遍历的默认IEnumerator Getenumerator();public static void main()inta=new int 3;array b=array . create instance(type of(int),3);for(int I=0);i3;I)a I=2 * I;B.SetValue(3*i,I);foreach(int x in a)console . write( 0 ,x);foreach(int x in b)console . write( 0 ,x);接口的方法:默认值为publi
5、c abstract。继承接口的类:必须实现接口的所有属性和方法。否则,类是抽象的。7,6.1.4堆栈和队列,1堆栈Stack Stack类提供了高级数据结构功能,插入或删除对象时只能在堆栈顶部插入或删除。创建堆栈对象的常用格式如下:Stack堆栈名称=new Stack();Stack类提供了堆栈中常用的操作方法,其中包括在堆栈顶部添加数据、删除堆栈顶部的数据、返回堆栈顶部的数据、清除堆栈,以及检查是否包含数据。方法的名称分别为Push、Pop、Peek、Clear和Contains。其中推送和Pop每次只能添加或删除一个数据。a1、a2、an、堆栈底部、堆栈顶部、堆栈、堆栈、8、6.1.4
6、堆栈和队列;双队列队列队列队列队列队列实现先进先出数据结构;队列可用于按顺序处理对象,因此队列可以按对象的插入顺序存储。建立伫列物件的一般格式为Queue伫列名称=new Queue(伫列长度,增量系数)。其中队列长度默认设置为32。增量系数的默认值为2.0。也就是说,每当队列容量不足时,队列长度就会调整为原来的两倍,从而可以调整增长系数的大小。,a1 a2 a3 an,团队头,团队尾,另一方面,NameValueCollection类和SortedList泛型类通过从元素0开始的索引或元素键提供元素访问。(4)是否包含值、键和值集或键和多值集,其中“一个值”集合是从IList列表界面派生的集
7、合,“一个键和一个值”集合是基于IDictionary字典界面的集合,而“一个键和多个值”集合是NameValueCollection集合,电子学院成都市学院精品课程视觉c #。net计算机编程,2020/8/2,11,选择集合类(继续),(5)是否需要以不同于元素输入的方式进行元素排序。Hashtable按元素散列代码对元素排序,SortedList和SortedDictionary按IComparer对键排序元素排序,ArrayList提供了Sort排序方法。(6)是否需要快速信息检索和搜索,对于较小的集合(10个元素以下),ListDictionary比Hashtable快,Sorted
8、Dictionary泛型类提供比Dictionary泛型类更快的查找。(7)是否需要仅接受字符串的集合,如StringCollection、StringDictionary等。电子学院成都市学院精品课程Visual C#。Net计算机编程,2020/8/2,12,3,集合创建和操作,1。动态数组类ArrayList 2。队列Queue 3。堆栈Stack 4。哈希表haack电子学院成都市学院精品课程Visual C#。Net计算机编程,2020/8/2,1。动态数组类ArrayList,ArrayList:可以看作是自动增加容量的动态数组,以实现IList接口。(1)Capacity集合容量
9、、读和写属性;(2)计数导入列表中实际包含的元素数;(3)Add()方法:在列表末尾添加元素(4)Insert()方法:添加列表指定位置元素(5)net计算机编程,2020/8/2,14,1。动态数组类ArrayList,(1) ArrayList和Array的区别Array的大小是固定的,arrayy是固定的;Array一次只能获取或设置一个元素值,而ArrayList可以添加、插入或删除元素范围。Array的下限可以自定义,但ArrayList的下限始终为0。Array可以有多个维,但ArrayList始终只是一维的。Array是System命名空间,ArrayList是System .在
10、集合命名空间中。(2)动态数组3360 ArrayList列表对象名称=new ArrayList();例如:ArrayList list=new ArrayList();List .纳福河(add);List .add(30);电子学院成都市学院精品课程Visual C#。Net计算机编程,2020/8/2,15,2。队列队列,队列特征插入或删除对象时,从队列一端插入对象,从另一端删除队列对象Queue队列名的先进先出数据结构说明:队列长度默认为32,增量系数默认为2.0(即,每当队列容量不足时,队列长度将调整为2倍)。由于调整队列的大小需要一些性能成本,因此最好在配置队列时指定队列深度。队
11、列包含Enqueue、Dequeue、Peek、Clear、Contains等方法。其中,Enqueue和Dequeue一次只能添加或删除一个任务的数据。例如:Queue q=new Queue(50,3.0);Q.Enqueue(东道);Q.Enqueue(西雷);电子学院成都市学院精品课程Visual C#。Net计算机编程,2020/8/2,16,3。堆叠Stack,堆叠功能:进阶数据结构,插入或删除物件时,只能在堆叠顶部插入或删除。创建堆栈对象:Stack堆栈名称=new Stack();堆栈包含Push、Pop、Peek、Clear、Contain等方法。其中推送和Pop每次只能添加
12、或删除一个数据。例如:Stack s=new Stack();s .推(成都市);s .推(四川省);电子学院成都市学院精品课程视觉c #。net计算机编程,2020/8/2,17,4。表示哈希表哈希表、哈希表(也称为哈希表)和键/值对的集合。哈希表特征:在保存集合元素时,首先根据密钥自动计算哈希代码,以确定元素存储位置,然后将元素值放入该位置指向的存储桶中。查找时,通过与密钥相对应的哈希代码重新搜索特定的存储桶。创建哈希表对象Hashtable哈希表名称=new Hashtable(哈希表长度,增量系数);说明,缺省长度为零,缺省增量系数为1.0哈希表(包括Add、Remove、Clear、
13、Contains等)。其中Add方法需要两个参数。一个是密钥,另一个是值。Remove方法只需要一个密钥名称参数。例如:hash table h=new hash table();h .追加(1001,二千郡);h .追加(1002,张金钟仁);电子学院成都市学院精品课程Visual C#。Net计算机编程,2020/8/2,18,5。字符串字典StringDictionary;字符串字典string dictionary是一种哈希表类型,用于将键和值强化为字符串,而不是对象。其中密钥不能为空牙齿,且不区分大小写入。例如:string dictionary my col=new string
14、dictionary();MyCol。Add(名称,纳福河);MyCol。Add(性别,男性);foreach(dictionary entry de in my col)console . writeline(0t1n,de.key,de . value);电子学院成都市学院精品课程Visual C#。Net计算机编程,2020/8/2,6.2索引器,6.2.1索引器定义,6.2.2索引器使用和属性比较,返回,19,6.如果类包含数组或集合成员,则索引器会大大简化对数组或集合成员的访问。20,6.2.1索引器的定义和使用,索引器的定义与属性定义类似。一般格式如下:修改子资料类型this索引类型index get /汇入属性set /设定属性,类别album/相簿类别phot定义/牙齿阵列包含照片public Photo thisint index /int参数Photo读取/写入索引Return photosindex : /对于有效索引,返回请求的照片set if(index=photos . length)return。Photosindex=value,21,6.2.1索引器的定义和使用,2索引器的使用允许通过索引器访问类实例中的数组成员。这与阵列的工作方式类似。一般格式如下:对象名索引。索引的数据类型必须与索引器的索引类型相同
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 调味品品评师安全宣教考核试卷含答案
- 汽车车身整形修复工操作管理评优考核试卷含答案
- 卫星通信机务员安全生产意识模拟考核试卷含答案
- 煤层气排采集输工安全理论考核试卷含答案
- 粉末冶金模具工QC管理知识考核试卷含答案
- 电鸣乐器调试工岗后能力考核试卷含答案
- 2025吉林长春市南关区面向社会招聘产业紧缺人才65人备考题库附答案
- 礼仪主持人操作安全考核试卷含答案
- 无线电监测与设备运维员岗前技能掌握考核试卷含答案
- 偏钨酸铵制备工岗前生产安全意识考核试卷含答案
- 地坪漆施工方案范本
- 2025宁波市甬北粮食收储有限公司公开招聘工作人员2人笔试参考题库及答案解析
- 2026年国有企业金华市轨道交通控股集团招聘备考题库有答案详解
- 2025年电子工程师年度工作总结
- 2026年吉林司法警官职业学院单招职业技能笔试备考题库带答案解析
- 2025年高职第三学年(工程造价)工程结算与审计测试题及答案
- 2024年曲阜师范大学马克思主义基本原理概论期末考试真题汇编
- 医院消毒技术培训课件
- 江苏省电影集团招聘笔试题库2026
- 《机械创新设计》课件-多功能播种机整体结构设计
- 增殖放流效果评估体系
评论
0/150
提交评论