面向对象特性(26)-- Hashtable(面向对象示例)
cac55 2024-10-11 10:51 15 浏览 0 评论
0、主要参考
(1)https://blog.csdn.net/wenchm/article/details/131529132
1、概念
- Hashtable(哈希表)是一种重要的集合类型。
- Hashtable通常称为哈希表,它表示键/值对的集合,这些键/值对根据键的哈希代码进行组织。它的每个元素都是一个存储在DictionaryEntry对象中的键/值对。键不能为空引用,但值可以。
- Hashtable 中键/值对均为 object 类型,所以 Hashtable 可以支持任何类型的键/值对
2、基础操作
2.1元素的添加
(1)构造的时候添加
Hashtable hashtable = new() //实例化Hashtable对象并添加元素
{
{ "id", "BH0001" }, //以类似数组的方法添加元素,适合初始化和批量赋值
{ "name", "TM" },
{ "sex", "男" }
};
(2)创建完成后添加
Hashtable ht = new Hashtable();
ht.Add("test", "kaka");
(3)注意,添加的时候什么乱七八糟类型都行
ht.Add("test", "kaka");
ht.Add(11, 22);
ht.Add("sh22", 55);
ht.Add(1.2, "chin");
2.2查看元素个数
使用Count获取包含在Hashtable中键值对的数目
using System.Collections;
Hashtable ht = new Hashtable();
ht.Add("test", "kaka");
ht.Add(11, 22);
ht.Add("sh22", 55);
ht.Add(1.2, "chin");
Console.WriteLine(ht.Count);
2.3遍历
Hashtable的遍历与数组类似,都可以使用foreach语句。这里需要注意的是,由于Hashtable中的元素是一个键/值对,因此需要使用DictionaryEntry结构来进行遍历。DictionaryEntry结构表示一个键/值对的集合。
using System.Collections;
Hashtable ht = new Hashtable();
ht.Add("test", "kaka");
ht.Add(11, 22);
ht.Add("sh22", 55);
ht.Add(1.2, "chin");
Console.WriteLine(ht.Count);
Console.WriteLine("----------------------------");
foreach (DictionaryEntry dicEntry in ht) //遍历Hashtable哈希表中的元素并输出其键值对
{
Console.WriteLine("\t " + dicEntry.Key + "\t " + dicEntry.Value);
}
输出为
2.4查找
在Hashtable中查找元素时,可以使用Hashtable类提供的Contains()方法、ContainsKey()方法和 ContainsValue()方法。
(1)Contains()方法
Contains()方法用来确定Hashtable中是否包含特定键,返回bool
public virtual bool Contains(Object key)
? key:要在Hashtable中定位的键。
? 返回值:如果Hashtable包含具有指定键的元素,则为true;否则为false。
测试例子如下
Hashtable ht = new Hashtable();
ht.Add("test", "kaka");
ht.Add(11, 22);
ht.Add("sh22", 55);
ht.Add(1.2, "chin");
Console.WriteLine(ht.Contains("test"));
Console.WriteLine(ht.Contains("meiyou"));
(2)ContainsKey()方法
ContainsKey()方法和Contains()方法实现的功能、语法都相同
Hashtable ht = new Hashtable();
ht.Add("test", "kaka");
ht.Add(11, 22);
ht.Add("sh22", 55);
ht.Add(1.2, "chin");
Console.WriteLine(ht.ContainsKey("test"));
Console.WriteLine(ht.ContainsKey("meiyou"));
(3)ContainsValue()方法
ContainsValue()方法用来确定Hashtable中是否包含特定值,其语法格式
public virtual bool ContainsValue(Object key)
? value:要在Hashtable中定位的值,该值可以为空引用。
? 返回值:如果Hashtable包含带有指定的value的元素,则为true;否则为false。
测试例子如下
Hashtable ht = new Hashtable();
ht.Add("test", "kaka");
ht.Add(11, 22);
ht.Add("sh22", 55);
ht.Add(1.2, "chin");
Console.WriteLine(ht.ContainsValue(55));
Console.WriteLine(ht.ContainsValue("meiyou"));
2.5删除元素
(1)Clear()方法
Hashtable ht = new Hashtable();
ht.Add("test", "kaka");
ht.Add(11, 22);
ht.Add("sh22", 55);
ht.Add(1.2, "chin");
Console.WriteLine(ht.Count);
ht.Clear();
Console.WriteLine(ht.Count);
(2)Remove()方法
Remove()方法用来从Hashtable中移除带有指定键的元素,其语法格式:
public virtual void Remove(Object key)
key:要移除的元素的键。
测试例子
using System.Collections;
Hashtable ht = new Hashtable();
ht.Add("test", "kaka");
ht.Add(11, 22);
ht.Add("sh22", 55);
ht.Add(1.2, "chin");
Console.WriteLine(ht.Count);
Console.WriteLine("----------------------------");
ht.Remove(1.2);
Console.WriteLine(ht.Count);
foreach (DictionaryEntry dicEntry in ht) //遍历Hashtable哈希表中的元素并输出其键值对
{
Console.WriteLine("\t " + dicEntry.Key + "\t " + dicEntry.Value);
}
相关推荐
- 博科矩阵新IP网络推动发展OTT服务
-
近日消息,日本电信服务提供商软银集团正在部署博科VDX交换机,为集团公司通用服务基础架构网络提供以太网矩阵,从而简化数据中心运营。这个新的基础架构将大幅度降低软银数据中心网络运营的复杂度和成本,使该公...
- 博科SDN战略落地 首款控制器Vyatta面世
-
ZDNET网络频道10月10日评论消息(文/于泽):虽然软件定义网络(SDN)近两年被炒得很热,但一直属于雷声大雨点小。各网络厂商都声称自家的交换机能够支持OpenFlow协议、实现SDN,不过就...
- 博科网络矩阵助Skilled Group“时刻在线”
-
澳大利亚最大的劳动力解决方案提供商SkilledGroup采用博科以太网和光纤通道存储区域网络(SAN)矩阵部署了一个创新的网络,从而打造了一个“时刻在线”的IT基础架构。博科矩阵实现了零停机环境以...
- 博科基于OpenDaylight推出SDN控制器Vyatta
-
ZDNET网络频道09月23日编译:博科周一宣布推出Vyatta控制器。Vyatta是博科SDN产品系列中一个新的主打产品。博科表示,Vyatta控制器是一步一步的从OpenDaylight项目中...
- 浏览器https方式访问博科FC光交显示没有匹配的加密算法套件
-
浏览器https方式访问博科FC光交显示没有匹配的加密算法套件报错的解决办法。。------------------------------------------------------------...
- 博科携手VMware推动软件定义数据中心和网络虚拟化的普及
-
2014年10月14日--博科(NASDAQ:BRCD)今天宣布,公司携手VMware,推出支持新IP的解决方案,以期让企业能够更轻松地迁移到软件定义数据中心(SDDC)和使用网络虚拟化。博科公司...
- 博科公司为追求速度极致的闪存拥趸提供光纤通道交换机
-
博科公司已经发布了一款每秒32Gbit第六代光纤通道交换机,这意味着其能够将现有每秒16Gbit连接速度提升一倍。其G620交换机采用1U机箱,提供24到64个端口,据博科方面所言这已经达到当前业...
- 博科推出第6代交换机 扩大光纤存储地位
-
博科今天宣布推出业内第一台第6代光纤通道存储网络交换机——博科G620,进一步扩大了博科在光纤通道技术领域的地位。这一全新专用且高密度SAN交换机提供突破性的性能和高可扩展性,旨在支持来自核心应用的数...
- 微信官宣新功能上线,聊天记录备份、迁移更好用了!
-
说到手机里哪个App最占空间,很多用户的答案大概都是微信,动辄占用几十甚至上百GB。不仅App本身体积庞大,更主要的是日积月累的聊天记录导致了空间的迅速消耗。此前,释放微信空间的常用方法是将...
- 局域网沟通工具--BeeBEEP(局域网内部聊天工具)
-
原文链接:局域网沟通工具--BeeBEEPHello,大家好啊!今天给大家带来一篇关于在信创终端上使用BeeBEEP的文章。BeeBEEP是一款安全、便捷的局域网即时通讯工具,支持文字聊天、文...
- 企业 IM 即时通讯底座,支持局域网通讯
-
在数字化浪潮下,企业对即时通讯的需求日益增长,尤其是对通讯安全性、可控性的要求愈发严苛。BeeWorks作为专业的企业IM即时通讯底座,凭借对局域网通讯的支持,为企业打造了优质可控的即时通讯与实...
- IM即时通讯软件,构建企业局域网内安全协作
-
安全与权限:协同办公的企业级保障在协同办公场景中,BeeWorks将安全机制贯穿全流程。文件在局域网内传输与存储时均采用加密处理,企业网盘支持水印预览、离线文档权限回收等功能,防止敏感资料外泄;多人...
- 当今信息化时代都离不开WLAN, 今天给大家普及一下WLAN知识
-
无线局域网(WirelessLocalAreaNetworks/WLAN)一.无线让网络使用更自由:1.凡是自由空间均可连接网络,不受限于线缆和端口位置。二.无线让网络建设更经济:1.终端...
- 软网推荐:寻找WebQQ替代者 在线可以继续聊
-
不少公司禁止上班聊天,常常采取封禁QQ、关闭端口等方法,导致很多聊天软件无法使用。以前我们可以通过WebQQ绕开限制,不过WebQQ在2019年1月1日开始停止服务,想要继续隐蔽聊天,就只能找其他一些...
- 搭建自己的聊天室平台、公司内部聊天平台,Rocket.Chat搭建使用
-
一,简介rocket.chat是一个开源的社交软件,即可以直接在web页面使用,也可以下载APP(Android,IOS,Windows,MacOS)主要功能:群组聊天,直接通信,私聊群,桌面通知...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- 如何绘制折线图 (52)
- javaabstract (48)
- 新浪微博头像 (53)
- grub4dos (66)
- s扫描器 (51)
- httpfile dll (48)
- ps实例教程 (55)
- taskmgr (51)
- s spline (61)
- vnc远程控制 (47)
- 数据丢失 (47)
- wbem (57)
- flac文件 (72)
- 网页制作基础教程 (53)
- 镜像文件刻录 (61)
- ug5 0软件免费下载 (78)
- debian下载 (53)
- ubuntu10 04 (60)
- web qq登录 (59)
- 笔记本变成无线路由 (52)
- flash player 11 4 (50)
- 右键菜单清理 (78)
- cuteftp 注册码 (57)
- ospf协议 (53)
- ms17 010 下载 (60)