文档详情

第5章+泛型-2(课件)-+《算法与程序设计-C#》同步教学(清华大学版).pptx

发布:2025-05-23约2.5千字共17页下载文档
文本预览下载声明

C#程序设计第5章泛型

2集合HashTable★掌握ArrayList集合类的使用及操作掌握HashTable(哈希表)的使用及操作

3ArrayList通过索引获取对象为什么使用HashTable能否象索引器那样通过关键字获取该对象呢?动态可维护长度可通过关键字检索C#提供一种集合HashTableStudents[“张三].SayHi();Studentstu1=(Student)Students[0];索引器通过关键字获取对象

4什么是HashTable每个元素都是一个键值对,元素类型为DictionaryEntryHashTable通常称为哈希表根据键(Key)可以查找到相应的值(Value)objectobjectobjectobjectobject0123…ArrayList实例化的方式同ArrayListKeyValueKeyValueKeyValueKeyValueKeyValueHashTable值键键和值一一对应索引键值必须唯一键和值可以是任意类型

5使用哈希表students.Add(zhangsan.Name,zhangsan);添加元素KeyValue…Studentstu2=(Student)students[“张三];stu2.SayHi();…通过key获取元素students.Remove(“张三);…通过key删除元素给哈希表添加元素获取哈希表的元素删除哈希表的元素需要类型转换演示:MySchool

6哈希表的遍历foreach(Objectstuoinstudents.Values){Studentstu=(Student)stuo;Console.WriteLine(stu.Name);}如何遍历一个哈希表?KeyValueKeyValueKeyValueKeyValueKeyValueValuesforeach(stringnameinstudents.Keys){Console.WriteLine(name);}可以遍历KeysKeys:获取哈希表中键的集合Values:获取哈希表中值的集合不能遍历整个对象,而是遍历Valuesforeach(DictionaryEntrydicEntryinstudents) //键dicEntry.Key//值(Student)dicEntry.Value

7哈希表中元素的查找boolContains(objectkey);Key:要在哈希表中定位的键boolContainsValue(objectvalue);Contains方法ContainsValue方法返回值:true,falseValue:在哈希表中定位的值返回值:true,false

8关于哈希表常用属性Count:获取包含在哈希表中的键值对的数目。Keys:获取包含在哈希表中的键的集合Values:获取包含在哈希表中的值的集合常用方法Add:将指定键和值的元素添加到哈希表中Remove:从哈希表中移除带有指定键的元素Clear:清空哈希表ContainsValue:检索哈希表中是否存在指定的值元素ContainsKey:检索哈希表中是否存在指定的键元素

9关于哈希表注意哈希表中已存在某个键时,不能再添加相同的键需要修改哈希表中的元素值时,通过键操作即可。若键或值的类型不一致时,循环遍历得到时候要注意适当的拆箱操作哈希表的值如果是引用类型的对象时,使用前要进行类型转换。

10SortedListT,V属性说明Capacity获取或设置SortedListT,V的容量Count获取包含在SortedListT,V中的键/值对的数目Keys获取包含SortedListT,V中的键的集合Values获取包含SortedListT,V中的值的集合方法说明Add将带有指定键和值的元素添加到SortedListT,V中Clear从SortedListT,V中移除所有元素ContainsKey确定SortedListT,V是否包含特定键ContainsValue确定SortedListT,V是否包含特定值GetEnumerator返回一个循环访问SortedListT,V的枚举器IndexOfKey在整个SortedListT,V中搜索指定键并返回从零开始的索引IndexOfValue在整个SortedListT,V中搜索指定的值,并返回第一个匹配项的从零开始的索引Remove从SortedListT,V中移除带有指定键的元素RemoveAt移除SortedListT,V的指定索引处的元素

11S

显示全部
相似文档