集合>哈希表类Hashtable和SortedList排序列表类
集合>哈希表类Hashtable
Hashtable一种键值对的集合 ,哈希表内部的排列是无序的,而且哈希表没有提供排序方法。
集合>哈希表类Hashtable>构造普通哈希表
代码using System;using System.Collections.Generic;using System.Text;using System.Collections;namespace ConsoleApplication1{ class Program { static void Main(string[] args) { //使用所有默认值构建哈希表实例 Hashtable ht = new Hashtable(); //指定哈希表实例的初始容量为20个元素 Hashtable ht1 = new Hashtable(20); //指定初始容量为20个元素,加载因子为0.8的哈希表实例,加载因子大,哈希表自动扩展容量也大。 Hashtable ht2 = new Hashtable(20, 0.8f); //实例化一个SortedList。 SortedList sl = new SortedList(); sl.Add("键一", "键值一"); sl.Add("键二", "键值二"); sl.Add("键三", "键值三"); //传入实现了IDictionary接口的参数创建哈希表。 Hashtable ht3 = new Hashtable(sl); } }}
集合>哈希表类Hashtable>获取哈希表值
代码using System;using System.Collections.Generic;using System.Text;using System.Collections;namespace useHashtable{ class Program { static void Main(string[] args) { //初始化哈希表 Hashtable hl = new Hashtable(); //使用Add方法向哈希表添加元素。 hl.Add("键一", "键值一"); hl.Add("键二", "键值二"); hl.Add("键三", "键值三"); hl.Add("键四", "键值四"); hl.Add("键五", "键值五"); hl.Add("键六", "键值六"); hl.Add("键七", "键值七"); DisplayResult(hl); Console.WriteLine("通过键获取键值:"+ hl["键一"]); Console.WriteLine("移除哈希表中的元素"); hl.Remove("键二"); Console.WriteLine("哈希表中的元数总数是:" + hl.Count); DisplayResult(hl); Console.ReadLine(); } static void DisplayResult(Hashtable tl) { foreach (DictionaryEntry de in tl) { Console.WriteLine("哈希表中的键:{0},对应的值{1}",de.Key,de.Value); } } }}
集合>哈希表类Hashtable>哈希表排序
代码using System;using System.Collections.Generic;using System.Text;using System.Collections;namespace HashSort{ class Program { static void Main(string[] args) { Hashtable ht = new Hashtable(); ht.Add("key1", "this is value1"); ht.Add("key3", "this is vlaue3"); ht.Add("key2", "this is value2"); ht.Add("key4", "this is value4"); Console.WriteLine("排序前的哈希键值顺序为:"); foreach (DictionaryEntry de in ht) { Console.WriteLine("键{0},值{1}", de.Key, de.Value); } ICollection keys = ht.Keys; ArrayList al = new ArrayList(keys); al.Sort(); Console.WriteLine("排序后的哈希键值顺序为:"); foreach (object key in al) { Console.WriteLine("键{0},值{1}", key, ht[key]); } Console.ReadLine(); } }}
集合>哈希表类Hashtable>哈希表搜索
代码using System;using System.Collections.Generic;using System.Text;using System.Collections;namespace HashtableSearch{ class Program { static void Main(string[] args) { Hashtable ht = new Hashtable(); ht.Add("key1", "this is value1"); ht.Add("key3", "this is vlaue3"); ht.Add("key2", "this is value2"); ht.Add("key4", "this is value4"); ICollection keys = ht.Keys; ArrayList al = new ArrayList(keys); al.Sort(); //在这里使用ArrayList的BinarySearch搜索指定键值的值。 int searchResult = al.BinarySearch("key3"); if (searchResult > 0) { Console.WriteLine("搜索到的结果为:键{0},值{1}",al[searchResult],ht[al[searchResult]]); } else { Console.WriteLine("没有搜索到有效的结果值"); } Console.ReadLine(); } }}
集合>SortedList排序列表类
SortedList对象是可以排序的字典对象。与哈希表不同的是,SortedList内部的键是一个数组,值也是一个数组。这两个数组有初始容量,可自动扩充,SortedList根据键来排序,所键要实现IComparable接口。
集合>SortedList排序列表类>创建和操作
代码using System;using System.Collections.Generic;using System.Text;using System.Collections;namespace ConsoleApplication1{ class Program { static void Main(string[] args) { //默认值构建 SortedList sl=new SortedList(); sl.Add("键1", "键值一"); sl.Add("键2", "键值二"); sl.Add("键3", "键值三"); sl.Add("键4", "键值四"); sl.Add("键5", "键值六"); sl.Add("键6", "键值七"); Console.WriteLine("排序字典的最初的初始化列表为:"); DisplayResult(sl); sl.Remove("键5"); Console.WriteLine("键6的键值是:{0}", sl["键6"]); Console.ReadLine(); } static void DisplayResult(SortedList sl) { foreach (DictionaryEntry de in sl) { Console.WriteLine("键:{0},键值为:{1}", de.Key, de.Value); } } }}
集合>哈希表类Hashtable和SortedList排序列表类的更多相关文章
- 11、C#基础整理(特殊集合和哈希表)
特殊集合:队列.栈 一.栈Stack类:先进后出,没有索引 Stack ss = new Stack(); 1.增加数据:push :将元素推入集合 ss.Push(); ss.Push(); ss. ...
- C# 哈希表(Hashtable)用法笔记
一.什么是Hashtable? Hashtable 类代表了一系列基于键的哈希代码组织起来的键/值对.它使用键来访问集合中的元素. 当您使用键访问元素时,则使用哈希表,而且您可以识别一个有用的键值.哈 ...
- C#部分---特殊集合:stack栈集合、queue队列集合、哈希表集合。
1.stack栈集合:又名 干草堆集合 栈集合 特点:(1)一个一个赋值 一个一个取值(2)先进后出实例化 初始化 Stack st = new Stack(); //添加元素用push st.Pus ...
- 数据结构是哈希表(hashTable)
哈希表也称为散列表,是根据关键字值(key value)而直接进行访问的数据结构.也就是说,它通过把关键字值映射到一个位置来访问记录,以加快查找的速度.这个映射函数称为哈希函数(也称为散列函数),映射 ...
- Java List集合和哈希表
List集合和Set集合,先来看List集合. List集合存储元素的特点: 1.有序(List集合中的元素有下标):存进去是什么样,取出来还是什么样 2.可重复 可以结合以下的简单代码来看一看. i ...
- java数据结构——哈希表(HashTable)
哈希表提供了快速的插入操作和查找操作,每一个元素是一个key-value对,其基于数组来实现. 一.Java中HashMap与Hashtable的区别: HashMap可以接受null键值和值,而Ha ...
- js实现哈希表(HashTable)
在算法中,尤其是有关数组的算法中,哈希表的使用可以很好的解决问题,所以这篇文章会记录一些有关js实现哈希表并给出解决实际问题的例子. 第一部分:相关知识点 属性的枚举: var person = { ...
- Python 字典和集合基于哈希表实现
哈希表作为基础数据结构我不多说,有兴趣的可以百度,或者等我出一篇博客来细谈哈希表.我这里就简单讲讲:哈希表不过就是一个定长数组,元素找位置,遇到哈希冲突则利用 hash 算法解决找另一个位置,如果数组 ...
- 第三十四篇 玩转数据结构——哈希表(HashTable)
1.. 整型哈希函数的设计 小范围正整数直接使用 小范围负整数整体进行偏移 大整数,通常做法是"模一个素数" 2.. 浮点型哈希函数的设计 转成整型进行处理 3.. 字符串 ...
随机推荐
- Java面向对象 集合(下)
Java面向对象 集合(下) 知识概要: (1)Map集合的体系结构 (2)Map集合的方法 (3)HashMap TreeMap (4)集合框架中的常用工具类 ( ...
- HTML与标记属性
网站部分:UI:AI.PS 前端:html.css.js 网站:是一个存放在网络服务器上的完整信息的集合体.由域名.空间服务器.网站程序.数据库等组成.由多个网页以一定的方式连接在一起,成为一个整体. ...
- Scala 运算符和集合转换操作示例
Scala是数据挖掘算法领域最有力的编程语言之一,语言本身是面向函数,这也符合了数据挖掘算法的常用场景:在原始数据集上应用一系列的变换,语言本身也对集合操作提供了众多强大的函数,本文将以List类型为 ...
- php设计模式 工厂模式和单例模式
一.单例模式//让该类在外界无法造对象//让外界可以造一个对象,做一个静态方法返回对象//在类里面通过让静态变量控制返回对象只能是一个. 单例模式的要点有三个: 一是某个类只能有一个实例: 二是它必须 ...
- PyCharm 2017 官网 下载 安装 设置 配置 (主题 字体 字号) 使用 入门 教程
一.安装 Python 3.6 首先,要安装好 Python 3.6.如果你还没有安装,可以参考咪博士之前的教程 Python 3.6.3 官网 下载 安装 测试 入门教程 (windows) 二.官 ...
- (10.23)Java小知识!
---恢复内容开始--- 方法的定义: 一般情况下,定义一个方法包含以下语法: 修饰符 返回值类型 方法名 (参数类型 参数名 , ...){ ... 方法体 ... return 返回值; } 修饰 ...
- LINUX 笔记-ls命令
常用参数: -l :列出长数据串,包含文件的属性与权限数据等 -a :列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用) -d :仅列出目录本身,而不是列出目录的文件数据 -h :将文件 ...
- JPA + SpringData 操作数据库 ---- 深入了解 SpringData
原创播客,如需转载请注明出处.原文地址:http://www.cnblogs.com/crawl/p/7735616.html ------------------------------------ ...
- python函数说明内容格式错误
def levlTwo(levloneList,levlOneNum): """ 入参levloneList 一级城市列表 入参levlOneNum 用户选择的城市序号 ...
- IntentService学习
IntentService是一个Service,主要就是Service和HandlerThread的结合 一.使用 不用多说和使用Service差不多,但是比Service多个一个方法实现: publ ...