哈希表

本文介绍了哈希表的基本使用方法,包括如何添加键值对、如何通过键获取值、如何判断键或值是否存在,以及三种不同的遍历哈希表的方式。
 1 namespace _02Hashtable
 2 {
 3 class Program
 4 {
 5 static void Main(string[] args)
 6 {
 7 //哈希表类似于字典,在查找元素的时候很快
 8 //键值对是根据算法算出来的,键根据算法找到值
 9 Hashtable hash = new Hashtable();
10 //通过键值来添加
11 hash.Add("撒旦发个","第三个");//都是object类型,什么都可以写
12 hash.Add(true,"1234");
13 
14 //通过键来获取值
15 Console.WriteLine(hash[true].ToString());
16 
17 //特点:1.键值对集合的“键”一定不能重复 hash.Add(true,"1234");
18 
19 //判断一个集合中是否存在某个键
20 bool b= hash.ContainsKey(true);
21 bool bb = hash.ContainsValue("1234");//判断键值对中是否存在某个值
22 Console.WriteLine(b);
23 Console.WriteLine(bb);

 

 1 //遍历hashtable
 2 //1.遍历键
 3 Console.WriteLine("==========遍历键==================");
 4 foreach (var item in hash.Keys)
 5 {
 6 Console.WriteLine("键: {0}----->值: {1}",item,hash[item]);
 7 }
 8 // 2.直接遍历值
 9 Console.WriteLine("==========直接遍历值==================");
10 foreach (var item in hash.Values)
11 {
12 Console.WriteLine("值: {0}",item);
13 }
14 //直接遍历键值对
15 Console.WriteLine("==========直接遍历键值对==================");
16 foreach (DictionaryEntry item in hash)
17 {
18 Console.WriteLine("键:{0} 值:{1}",item.Key,item.Value);
19 }
20 
21 Console.ReadKey();
22 
23 }
24 }
25 }

=============================================================

 1 namespace 哈希表
 2 {
 3 class Program
 4 {
 5 static void Main(string[] args)
 6 {
 7 //键值对集合 字典 object类型 object类型
 8 //输出用foreach循环
 9 Hashtable ht=new Hashtable();
10 ht.Add(1, "zhangsan");
11 ht.Add(2,3);// 键+值 都是object类型
12 ht.Add(3,'');
13 ht.Add(true,"正确的");
14 ht[6] = "新的赋值方式";
15 ht[1] = "干掉zhangsan";
16 if (!ht.ContainsKey("abc"))
17 {
18 ht.Add("abc","bac");
19 
20 }
21 //键值可以是任何类型 不能局限于123456
22 //ht[i]=“值”这种方式其实是先进行一个判断
23 //若果原来没有键,则添加上值,如果有键,则把值给替换点
24 // 在键值对集合中,是根据键值去找值的
25 //键必须的唯一的,值可以重复的
26 //Console.WriteLine(ht[1]);
27 //Console.WriteLine(ht[2]);
28 //Console.WriteLine(ht[3]);
29 //item 集合中的每一项 collection集合
30 //c#是强类型语言:代码中必须对每一个变量有一个明确的定义
31 //js是弱类型语言
32 //var 根据值来推断类型
33 
34 foreach (var item in ht.Keys)//这是item代表键,ht.value 则item代表值
35 {
36 Console.WriteLine("键是{0}==={1}",item,ht[item]);//倒叙的
37 }
38 Console.ReadKey();
39 }
40 }
41 }

 

转载于:https://www.cnblogs.com/ZkbFighting/p/7732592.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值