• C# 哈希表


    哈希表:
    1,哈希表里没有索引号:不支持for循环,但支持foreach循环
    2,键不能重复
    3,哈希表在遍历中可移除某个键/值对;注意,移除后一定要退出循环(break;)
    4,键放入顺序不一定是自然顺序;
    用来通过制定的Key,查找Value的。Key不可重复,但是Value可以重复。Key的检索是通过HashCode进行的,效率比普通列表要高,因此有人单独使用Key来存放不重复的关键字,而Value不给值,设为null,用来判断某个key是否存在,效率比普通的集合中判断是否存在要高,不过相应的内存消耗也比较大。
     
    Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似key/的键值对,其中key通常可用来快速查找,同时key是区分大小写;用于存储对应于key的值。Hashtable中key/键值对均为object类型,所以Hashtable可以支持任何类型的key/键值对.
    使用键值对时可使用。
     
    一.常用的方法:
      Hashtable hshTable = new Hashtable(); // 创建哈希表
            hshTable .Add("Person1", "zhanghf"); // 往哈希表里添加键值对
            hshTable .Clear(); //移除哈希表里所有的键值对
            hshTable .Contains("Person1");   //判断哈希表里是否包含该键
            string name = (string)hshTable["Person1"].ToString(); //取哈希表里指定键的值
            hshTable.Remove("Person1"); // 删除哈希表里指定键的键值对
            IDictionaryEnumerator en = hshTable.GetEnumerator(); //   遍历哈希表所有的键,读出相应的值
             while (en.MoveNext())
                {
                   string str = en.Value.ToString();
                }
    二.遍历哈希表:
    遍历哈希表需要用到DictionaryEntry Object,代码如下:
      for(DictionaryEntry de in ht) //ht为一个Hashtable实例
      {
       Console.WriteLine(de.Key);//de.Key对应于key/value键值对key
       Console.WriteLine(de.Value);//de.Key对应于key/value键值对value
      }
    或者
    foreach (string mykey in ht.Keys)
                {
                string str=(string)ht[mykey];
                Console.WriteLine(str);
                }
  • 相关阅读:
    Best Time to Buy and Sell Stock(动态规划)
    word break
    Container With Most Water
    Partition List(链表的插入和删除操作,找前驱节点)
    取样问题(编程珠玑)
    统计指标
    脚本化加载文件与转储
    azkaban调度
    hive自定义UDTF函数叉分函数
    hive数据仓库建设
  • 原文地址:https://www.cnblogs.com/zcm123/p/2844415.html
Copyright © 2020-2023  润新知