c#常用集合类使用练习(队列Queue、栈Stack、哈希表Hashtable和动态数组ArrayList)(3):

哈希表Hashtable
哈希表又称散列表,表示键值对的集合;
哈希表保存集合元素时,首先要根据自动计算哈希代码,以确定该元素的保存位置,再把元素的值放入相应位置所指
向的存储桶中;
查找时,再次通过所对应的哈西代码到特定的存储桶中搜索,这样可以极大的提高查找一个元素的效率;
创建哈希表对象形式:
Hashtable 哈希表名 = new Hashtable([哈希表长度][,增长因
子]);
说明:哈希表默认长度为0,默认增长因子为1.0。
方法:
Add数据的添加;
Remove移除;
Clear清空;;
Contains查询;
代码:

 Console.WriteLine();
            //哈希表Hashtable:先进后出,一个一个赋值,但只能一起取值??
            Hashtable ht = new Hashtable();
            ht.Add(1, "a");
            ht.Add(2, "b");
            ht.Add(3, "c");
            ht.Add(4, "d");
            ht.Add(5, "e");
            //检查是否包含某个数据,若有,返回true,若无,返回false
            //查询时是通过key的值查询,不能直接查询values值
            Console.WriteLine(ht.Contains(3));
            Console.Write("对象个数:");
            Console.WriteLine(ht.Count);
            //单纯的存储key的值
            Console.WriteLine("存储key的值");
            foreach (int ht1 in ht.Keys)
            {
                Console.WriteLine(ht1);
            }
            Console.WriteLine("读取添加的值");
            foreach (string ht2 in ht.Values)
            {
                Console.WriteLine(ht2);
            }
            ht.Remove(3);
            //检查是否包含某个数据,若有,返回true,若无,返回false
            Console.WriteLine(ht.Contains(3));
            //Console.WriteLine(ht.Contains("c"));
            Console.Write("对象个数:");
            Console.WriteLine(ht.Count);
            Console.WriteLine("读取清除后剩下的值");
            foreach (string ht2 in ht.Values)
            {
                Console.WriteLine(ht2);
            }
            //清楚
            ht.Clear();
            //检查是否包含某个数据,若有,返回true,若无,返回false
            Console.WriteLine(ht.Contains(4));
            //剩下对象个数
            Console.Write("对象个数:");
            Console.WriteLine(ht.Count);
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值