教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 幼儿教育 >

如何使用泛型与泛型集合

来源:网络收集 时间:2026-08-25
导读: 泛型 集合 如何使用集合和泛型集合 泛型 集合 数组的局限string[] Students = new string[3] {张三 李四 王五 张三, 李四, 王五}; 张三 李四 王五 班级人员的数组 相同类型和名称 变量的集合 如果每个班级的人数不固定 重新定义数组 班级中来了一个新的学员

泛型 集合

如何使用集合和泛型集合

泛型 集合

数组的局限string[] Students = new string[3] {"张三 "李四 "王五 张三", 李四", 王五"}; 张三 李四 王五 班级人员的数组 相同类型和名称 变量的集合

如果每个班级的人数不固定 重新定义数组 班级中来了一个新的学员

调整大小困难

增加元素困难

能否动态的维护一个集合? 能否动态的维护一个集合?

泛型 集合

可维护动态长度的集合ArrayList是一个可动态维护长度的集合 是一个可动态维护长度的集合自动调整 索引 新增元素 ArrayList

0 1 0 2 1 3 2 4 3通过索引 访问 索引(下标 索引 下标) 下标

object object object object object

可删除元素

可访问单个元素

泛型 集合

ArrayList的初始化 的初始化引入System.Collections命名空间 命名空间 引入 实例化ArrayList对象 实例化 对象using System.Collections; 引入命名空间 //… 实例化一个对象 ArrayList Students = new ArrayList(); ArrayList Teachers = new ArrayList(5); 可以指定长度

未引入命名空间 常见错误 定义时未实例化

泛型 集合

ArrayList添加元素 添加元素int Add(Object value) //添加一个对象到集合的末尾 添加一个对象到集合的末尾

建立班级学员的集合

返回索引

ArrayList students = new ArrayList(); Student scofield = new Student("Scofield", Genders.Male, 28, "越狱狱 越狱狱"); 越狱狱 //… 创建学员对象 添加学员 students.Add(scofield); 连续添加三个学员对象 并获取集合元素的数目 ArrayList.Count获 获 取元素数目

演示示例1 演示示例1:MySchool

泛型 集合

访问ArrayList元素 元素 访问(类型 ArrayList[index] //按指定索引(下标)取得对象 类型) 按指定索引( 类型 按指定索引 下标) 需要类型转换 Student stu1 = (Student)students[0]; stu1.SayHi(); … 转换为学员对象 按索引取值

ArrayList第一个对 第一个对 象的索引是0 象的索引是

泛型 集合

删除ArrayList的元素 的元素 删除ArrayList.Remove(对象名 //删除指定对象名的对象 对象名) 删除指定对象名的对象 对象名 ArrayList.RemoveAt(index) //删除指定索引的对象 删除指定索引的对象 ArrayList.Clear() //清除集合内的所有元素 清除集合内的所有元素

students.RemoveAt(0); students.Remove(zhang);

通过索引删除对象 通过指定对象删除 取得删除后的第一个对象

Student leave = (Student)students[0]; leave.SayHi(); 只剩一个对象 剩余的元素会自动调整索引

泛型 集合

ArrayList 的遍历可以使用和数组类似的方式for (int i = 0; i < students.Count; i++) { Student stuFor = (Student)students[i]; Console.WriteLine(http://www.77cn.com.cn); } 输出结果

Scofield 张靓靓 周杰杰

foreach 方式通过对象遍历 //遍历 遍历 foreach (Object stuo in students) { 类型转换 Student stuForeach = (Student)stuo; Console.WriteLine(http://www.77cn.com.cn); 打印对象的Name属性 打印对象的 属性 }

演示示例2 演示示例2

:MySchool

泛型 集合

为什么使用HashTable 为什么使用ArrayList通过索引获取对象 通过索引获取对象Student stu1 = (Student)Students[0];

通过关键字获取对象Students["周杰杰 周杰杰"].SayHi(); 周杰杰

能否像索引器那样通过关键字获取该对象呢? 能否像索引器那样通过关键字获取该对象呢?动态可维护长度 C#提供一种集合 提供一种集合 可通过关键字检索 HashTable

泛型 集合

什么是HashTable 什么是ArrayList 每个元素对应一个索引 HashTable 通常称为哈希表 根据键( 根据键(Key)可以查找到相应的值(Value) )可以查找到相应的值( )ArrayListobject object object object object

HashTable键 Key Key 索引 键和值一一对应 Key Key Key Value Value Value Value Value 值

0 1 2 3 …

泛型 集合

使用哈希表给哈希表添加元素students.Add(http://www.77cn.com.cn , scofield); Key Value 添加元素

获取哈希表的元素… Student stu2 = (Student)students["周杰杰 周杰杰"]; 周杰杰 stu2.SayHi(); 通过key获取元素 通过 获取元素 需要类型转换 …

删除哈希表的元素students.Remove("周杰杰 周杰杰"); 周杰杰 … 通过key删除元素 删除元素 通过

演示示例5 演示示例5:MySchool

泛型 集合

哈希表的遍历如何遍历一个哈希表? 如何遍历一个哈希表? 哈希表不能遍历整个对象, 不能遍历整个对象,而 是遍历Values 是遍历

foreach (Object stuo in students.Values) { Student stu = (Student)stuo; Console.WriteLine(http://www.77cn.com.cn); } foreach (string name in students.Keys) { Console.WriteLine(name); } 可以遍历Keys 可以遍历

Key Key Key Key Key

Value Value Value Value Value

Values

泛型 集合

类型安全1 类型安全MySchool中添加一个 中添加一个Teacher类 中添加一个 类Teacher jacky = new Teacher(“周星驰 4); 周星驰", 周星驰 jacky.SayHi(); students.Add(jacky); 能否加入一个 Teacher对象? 对象? 对象 foreach (Object stuo in students) { Student stu = (Student)stuo; Console.WriteLine(http://www.77cn.com.cn); } 遍历这个集合是否 有问题? 有问题?

泛型 集合

类型安全2 类型安全对象存储不 易控制 Student集合 集合 Teacher对象 对象 成龙龙 Scofield 张靓靓 周杰杰 添加对象 类型转换 容易出错 遍历集合

运行错误

泛型 集合

List<T>的使用 的使用引入命名空间: 引入命名空间:System.Collections.Generic List<Student> students = new List<Student>(); 利用List<Student>存储班级集合 利用 存储班级集合students.Add(scofield); … students.Add(jacky); 编译出错 将Student对象加入班级 对象加入班级 将Teacher对象加入班级 对象加入班级

遍历List<Student>集合 集合

只能保存Student对象 对象 只能保存 不需类型转换

foreach (Student stu in students) { Console.WriteLine(http://www.77cn.com.cn); }

泛型 集合

什么是泛型集合Student对象 对象 Teacher对象 对象

允许添加

List<Student>

不允许添加 无需转换类型

Student对象 对象

型最常见的用途是创建集合类 泛型集合可以约束集合内的元素类型 典型泛型集合List<T>,Dictionary<K,V> 典型泛型集合 ,<T>、<K,V>表示该泛型集合中的元素类型 、 表示该泛型集合中的元素类型

…… 此处隐藏:2146字,全部文档内容请下载后查看。喜欢就下载吧 ……
如何使用泛型与泛型集合.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1486018.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)