博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hashtable:仅有两列的表
阅读量:7080 次
发布时间:2019-06-28

本文共 944 字,大约阅读时间需要 3 分钟。

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:

图3.1.29

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

本文转自shyleoking 51CTO博客,原文链接:http://blog.51cto.com/shyleoking/805161

转载地址:http://hqvml.baihongyu.com/

你可能感兴趣的文章
ZOJ 3642 Just Another Information Sharing Problem【二分图多重匹配】
查看>>
Ansible基础
查看>>
3D打印材料的发展现状(1)
查看>>
API相关基础知识
查看>>
黑马程序员-面向对象-07天-1 (抽象类描述)
查看>>
elasticsearch-hadoop使用示例
查看>>
Vue渐变淡入淡出的轮播图
查看>>
svn+http+ad域
查看>>
php----------php安装xhprof扩展和简单使用
查看>>
NIO服务器
查看>>
Spring配置文件的读取
查看>>
Oracle中日期时间的操作比较和加减-入门基础(转)
查看>>
使用工具安装,运行,停止,卸载Window服务
查看>>
代码整洁之道-第10章-类-读书笔记
查看>>
在 Javascript 中使用内联代码与使用外部函数调用时的性能差别(IE/Firefox/Chrome)
查看>>
Java基础语法(Eclipse)
查看>>
cookie 传值
查看>>
spring-framework3.2源码下载导入eclipse
查看>>
IDEA、WebStorm最新永久激活方式
查看>>
Charpter3 关于闰年测试
查看>>