Hashtable和Dictionary

1.HashTeble:

形式特点:
一个映射关系,其模式与ArrayList类似,键和值都可以是任意类型来进行插入,不做过多的限制。

应用实例:

 1 static void Main()
 2         {
 3             Hashtable hashtable = new Hashtable();
 4             hashtable.Add(0, "a");
 5             hashtable.Add("b", 1);
 6             hashtable.Add(3, 3);
 7             //遍历所有的键
 8             foreach (var key in hashtable.Keys)
 9             {
10                 Console.WriteLine(key); 
11             }
12             //遍历所有的值
13             foreach (var value in hashtable.Values)
14             {
15                 Console.WriteLine(value);
16             }
17         }

 

static void Main()
        {
            //根据字母表的位置输出对应字母
            int[] num = { 1, 2, 3, 4, 5, 6 };
            string alp = "ABCDEF";
            Hashtable ht = new Hashtable();
            for (int i = 0; i < num.Length; i++)
            {
                ht.Add(num[i], alp[i]);
            }
            Console.WriteLine("请输入要查询第几个字母:");
            int n = int.Parse(Console.ReadLine());
            Console.WriteLine(ht[num[n - 1]]);
        }

 

 

2.Dictionary:

形式特点:

1.Dictionary本质上是一个映射的关系,<string,int>表示每一个string类型的变量值都能映射到int类型的变量值,其中自变量用索引(数组下标)来进行表示

2.其结构类型和之前的List十分类似,有着相似的增删改查功能

代码实例:

public static void Main()
        {
            Dictionary<string,int> dictionary = new Dictionary<string,int>();
            dictionary.Add("a", 1);
            dictionary.Add("b", 2);
            //dictionary.Add("a", 3);//本行会发生报错,Add只能用于增添,而不能用于修改,也可以理解为自变量只能对应一个因变量(函数思想)
            dictionary.Remove("a");//只需输入索引即可找出对应的元素进行删除,Dictionary类无RemoveAt函数
            dictionary["a"] = 3;//可通过对应的下标索引对值进行修改
            dictionary["c"] = 4;//也可以通过下标索引直接增添一个值放在字典集的末尾
            Dictionary<string,int> dictionary1 = new Dictionary<string,int>()
            {
                {"a", 1},
                {"b", 2},
                {"c", 3},
            };//也可以对字典类进行如上所示的初始化
            foreach (var item in dictionary)
            {
                Console.WriteLine(item);
            }
        }

 

posted @ 2022-03-09 21:11  jue1e0  阅读(55)  评论(0)    收藏  举报