集合>哈希表类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排序列表类的更多相关文章

  1. 11、C#基础整理(特殊集合和哈希表)

    特殊集合:队列.栈 一.栈Stack类:先进后出,没有索引 Stack ss = new Stack(); 1.增加数据:push :将元素推入集合 ss.Push(); ss.Push(); ss. ...

  2. C# 哈希表(Hashtable)用法笔记

    一.什么是Hashtable? Hashtable 类代表了一系列基于键的哈希代码组织起来的键/值对.它使用键来访问集合中的元素. 当您使用键访问元素时,则使用哈希表,而且您可以识别一个有用的键值.哈 ...

  3. C#部分---特殊集合:stack栈集合、queue队列集合、哈希表集合。

    1.stack栈集合:又名 干草堆集合 栈集合 特点:(1)一个一个赋值 一个一个取值(2)先进后出实例化 初始化 Stack st = new Stack(); //添加元素用push st.Pus ...

  4. 数据结构是哈希表(hashTable)

    哈希表也称为散列表,是根据关键字值(key value)而直接进行访问的数据结构.也就是说,它通过把关键字值映射到一个位置来访问记录,以加快查找的速度.这个映射函数称为哈希函数(也称为散列函数),映射 ...

  5. Java List集合和哈希表

    List集合和Set集合,先来看List集合. List集合存储元素的特点: 1.有序(List集合中的元素有下标):存进去是什么样,取出来还是什么样 2.可重复 可以结合以下的简单代码来看一看. i ...

  6. java数据结构——哈希表(HashTable)

    哈希表提供了快速的插入操作和查找操作,每一个元素是一个key-value对,其基于数组来实现. 一.Java中HashMap与Hashtable的区别: HashMap可以接受null键值和值,而Ha ...

  7. js实现哈希表(HashTable)

    在算法中,尤其是有关数组的算法中,哈希表的使用可以很好的解决问题,所以这篇文章会记录一些有关js实现哈希表并给出解决实际问题的例子. 第一部分:相关知识点 属性的枚举: var person = { ...

  8. Python 字典和集合基于哈希表实现

    哈希表作为基础数据结构我不多说,有兴趣的可以百度,或者等我出一篇博客来细谈哈希表.我这里就简单讲讲:哈希表不过就是一个定长数组,元素找位置,遇到哈希冲突则利用 hash 算法解决找另一个位置,如果数组 ...

  9. 第三十四篇 玩转数据结构——哈希表(HashTable)

    1.. 整型哈希函数的设计 小范围正整数直接使用 小范围负整数整体进行偏移 大整数,通常做法是"模一个素数"   2.. 浮点型哈希函数的设计 转成整型进行处理   3.. 字符串 ...

随机推荐

  1. Java面向对象 集合(下)

      Java面向对象 集合(下) 知识概要:               (1)Map集合的体系结构 (2)Map集合的方法 (3)HashMap TreeMap (4)集合框架中的常用工具类 ( ...

  2. HTML与标记属性

    网站部分:UI:AI.PS 前端:html.css.js 网站:是一个存放在网络服务器上的完整信息的集合体.由域名.空间服务器.网站程序.数据库等组成.由多个网页以一定的方式连接在一起,成为一个整体. ...

  3. Scala 运算符和集合转换操作示例

    Scala是数据挖掘算法领域最有力的编程语言之一,语言本身是面向函数,这也符合了数据挖掘算法的常用场景:在原始数据集上应用一系列的变换,语言本身也对集合操作提供了众多强大的函数,本文将以List类型为 ...

  4. php设计模式 工厂模式和单例模式

    一.单例模式//让该类在外界无法造对象//让外界可以造一个对象,做一个静态方法返回对象//在类里面通过让静态变量控制返回对象只能是一个. 单例模式的要点有三个: 一是某个类只能有一个实例: 二是它必须 ...

  5. PyCharm 2017 官网 下载 安装 设置 配置 (主题 字体 字号) 使用 入门 教程

    一.安装 Python 3.6 首先,要安装好 Python 3.6.如果你还没有安装,可以参考咪博士之前的教程 Python 3.6.3 官网 下载 安装 测试 入门教程 (windows) 二.官 ...

  6. (10.23)Java小知识!

    ---恢复内容开始--- 方法的定义: 一般情况下,定义一个方法包含以下语法: 修饰符 返回值类型 方法名 (参数类型 参数名 , ...){ ... 方法体 ... return 返回值; } 修饰 ...

  7. LINUX 笔记-ls命令

    常用参数: -l :列出长数据串,包含文件的属性与权限数据等 -a :列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用) -d :仅列出目录本身,而不是列出目录的文件数据 -h :将文件 ...

  8. JPA + SpringData 操作数据库 ---- 深入了解 SpringData

    原创播客,如需转载请注明出处.原文地址:http://www.cnblogs.com/crawl/p/7735616.html ------------------------------------ ...

  9. python函数说明内容格式错误

    def levlTwo(levloneList,levlOneNum): """ 入参levloneList 一级城市列表 入参levlOneNum 用户选择的城市序号 ...

  10. IntentService学习

    IntentService是一个Service,主要就是Service和HandlerThread的结合 一.使用 不用多说和使用Service差不多,但是比Service多个一个方法实现: publ ...