zoukankan      html  css  js  c++  java
  • Hashtable:仅有两列的表

    Hashtable集合和ArrayList、Stack和Queue都不一样,该集合可用看作是一个仅有两列的表格,第一列是键,存放的是唯一不可重复的值。第二列是值,随便放什么都可以。由于Hashtable这样的特征,所以这个集合不适合放置顺序的值,却可以放置些能被唯一标识的值。比如以下代码说明了这个现象:

    System.Collections.Hashtable phoneBook = new System.Collections.Hashtable();

    phoneBook.Add("Leo", "139");

    phoneBook.Add("Shy", "138");

    phoneBook.Add("Hai", "137");

    phoneBook.Add("Lii", "188");

    怎么取值呢?令你惊讶的是,Hashtable不直接支持通过下标取值,如果我们要访问元素,必须要知道key的值。

    第一种方案直接依赖key值获取元素的值:

    System.Console.WriteLine(phoneBook["Leo"]);

    System.Console.WriteLine(phoneBook["Shy"]);

    System.Console.WriteLine(phoneBook["Hai"]);

    System.Console.WriteLine(phoneBook["Lii"]);

    如果你需要遍历Hashtable中的所以元素,你需要采用如下的方案:

    foreach (System.Collections.DictionaryEntry entry in phoneBook)

    {

    System.Console.WriteLine("phoneBook[{0}]:{1}", entry.Key, phoneBook[entry.Key]);

    }

    得到的结果如图3.1.29:

    clip_image002

    图3.1.29

    通过遍历DictionaryEntry我们可以得到Hashtable的所有键,值得注意的是,遍历集合的次序和值进入集合的次序没有必然的关系。

  • 相关阅读:
    Python find()方法
    Python expandtabs()方法
    RGB-D对红外热像仪和毫米波雷达标定
    ADAS虚拟车道边界生成
    3D惯导Lidar SLAM
    语义分割改进:通过视频传播和标签松弛
    YOLOv4:目标检测(windows和Linux下Darknet 版本)实施
    tensorflow-yolov4实施方法
    3D惯导Lidar仿真
    YOLOv4实用训练实践
  • 原文地址:https://www.cnblogs.com/shyleoking/p/1535467.html
Copyright © 2011-2022 走看看