HashTable应用

HashTable应用
 
一、哈希表(Hashtable)简述
在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似key/value的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值。Hashtable中key/value键值对均为object类型,所以Hashtable可以支持任何类型的key/value键值对。
二、哈希表的简单操作
在哈希表中添加一个key/value键值对
HashTableObject.Add(key,value)
例子:
Hashtable myHT = new Hashtable();
myHT.Add(0, "zero");
myHT.Add(1, "one");
myHT.Add(2, "two");
myHT.Add(3, "three");
myHT.Add(4, "four");
在哈希表中去除某个key/value键值对
HashtableObject.Remove(key);
例子:
myHT.Remove(0);
从哈希表中移除所有元素
HashtableObject.Clear();
例子:
myHT.Clear();
判断键是否已经存在
HashTableObject.Contain(key)
返回一个bool值
例子:
bool b = myHT.Contain(1);
遍历键
foreach (object key in HashTableObject.keys){}
遍历值
foreach (object key in HashTableObject.values){}
遍历哈希表键值对
foreach (DictionaryEntry de in HashTableObject)
{
Console.WriteLine(de.Key);// 取得键
Console.WriteLine(de.Value);// 取得值
}
排序输出
ArrayList akeys = new ArrayList(HashTableObject.Keys);
akeys.Sort();  
例子
class Program
    {
        static void Main(string[] args)
        {
            Hashtable table = new Hashtable();
            Console.WriteLine("------------------------------------------");
            //哈希表的添加例子
            table.Add(0,"zero");
            table.Add(1, "one");
            table.Add(2, "two");
            table.Add(3, "three");
            //显示哈希表的记录
            PrintTable(table);
            Console.ReadKey();
            Console.WriteLine("------------------------------------------");
            //哈希表的删除例子
            Console.WriteLine("please input a num:");
            int i = int.Parse(Console.ReadLine());
            table.Remove(i);
            //显示哈希表的记录
            PrintTable(table);
            Console.ReadKey();
            Console.WriteLine("------------------------------------------");
            //哈希表判断是否有键存在
            Console.WriteLine("please input a num:");
            i = int.Parse(Console.ReadLine());
            Console.WriteLine("Value is a '{0}'",table.Contains(i));
            Console.WriteLine("------------------------------------------");
            //哈希表移除所有元素的例子
            table.Clear();
            //显示哈希表的记录
            PrintTable(table);
            Console.WriteLine("------------------------------------------");
            Console.ReadKey();
           
        }
        private static void PrintTable(Hashtable table)
        {
            foreach (DictionaryEntry d in table)//Dictionary
            {
                Console.WriteLine("{0}\t{1}",d.Key ,d.Value );
            }
           
        }
       
    }

转载于:https://www.cnblogs.com/yangxiao24/archive/2008/01/07/1029292.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在C#中,Hashtable是一种经典的集合类型,它提供了键值对的存储和访问。以下是使用Hashtable的示例代码: ```csharp using System; using System.Collections; class Program { static void Main() { // 创建一个Hashtable Hashtable hashtable = new Hashtable(); // 添加键值对到Hashtable hashtable.Add("key1", "value1"); hashtable.Add("key2", "value2"); hashtable.Add("key3", "value3"); // 判断是否包含指定的键 bool containsKey = hashtable.ContainsKey("key2"); Console.WriteLine("Contains Key 'key2': " + containsKey); // 获取指定键对应的值 string value = (string)hashtable["key1"]; Console.WriteLine("Value for Key 'key1': " + value); // 修改指定键对应的值 hashtable["key3"] = "updated value"; // 移除指定键值对 hashtable.Remove("key2"); // 遍历Hashtable中的键值对 foreach (DictionaryEntry entry in hashtable) { Console.WriteLine(entry.Key + ": " + entry.Value); } } } ``` 上述代码中,首先创建了一个Hashtable对象。然后使用`Add`方法向Hashtable中添加键值对。可以使用`ContainsKey`方法判断Hashtable中是否包含指定的键。使用索引器(`[]`)来获取指定键对应的值,并可以通过索引器来修改指定键对应的值。`Remove`方法可以移除指定键值对。最后,通过`foreach`循环遍历Hashtable中的键值对,并输出到控制台。 请注意,Hashtable中的键和值可以是任意类型的对象。在实际应用中,请根据具体需求选择合适的数据结构和类型。另外,从C# 2.0开始,推荐使用更为类型安全的`Dictionary<TKey, TValue>`代替Hashtable

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值