zoukankan
html css js c++ java
在C#中应用哈希表(Hashtable)
一、哈希表(Hashtable)简述
在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似key
/
value的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值。Hashtable中key
/
value键值对均为object类型,所以Hashtable可以支持任何类型的key
/
value键值对.
二、哈希表的简单操作
在哈希表中添加一个key
/
value键值对:HashtableObject.Add(key,value);
在哈希表中去除某个key
/
value键值对:HashtableObject.Remove(key);
从哈希表中移除所有元素: HashtableObject.Clear();
判断哈希表是否包含特定键key: HashtableObject.Contains(key);
下面控制台程序将包含以上所有操作:
using
System;
using
System.Collections;
//
使用Hashtable时,必须引入这个命名空间
class
hashtable
{
public
static
void
Main()
{
Hashtable ht
=
new
Hashtable();
//
创建一个Hashtable实例
ht.Add(
"
E
"
,
"
e
"
);
//
添加key/value键值对
ht.Add(
"
A
"
,
"
a
"
);
ht.Add(
"
C
"
,
"
c
"
);
ht.Add(
"
B
"
,
"
b
"
);
string
s
=
(
string
)ht[
"
A
"
];
if
(ht.Contains(
"
E
"
))
//
判断哈希表是否包含特定键,其返回值为true或false
Console.WriteLine(
"
the E key:exist
"
);
ht.Remove(
"
C
"
);
//
移除一个key/value键值对
Console.WriteLine(ht[
"
A
"
]);
//
此处输出a
ht.Clear();
//
移除所有元素
Console.WriteLine(ht[
"
A
"
]);
//
此处将不会有任何输出
}
}
三、遍历哈希表
遍历哈希表需要用到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
}
四、对哈希表进行排序
对哈希表进行排序在这里的定义是对key
/
value键值对中的key按一定规则重新排列,但是实际上这个定义是不能实现的,因为我们无法直接在Hashtable进行对key进行重新排列,如果需要Hashtable提供某种规则的输出,可以采用一种变通的做法:
ArrayList akeys
=
new
ArrayList(ht.Keys);
//
别忘了导入System.Collections
akeys.Sort();
//
按字母顺序进行排序
foreach
(
string
skey
in
akeys)
{
Console.Write(skey
+
"
:
"
);
Console.WriteLine(ht[skey]);
//
排序后输出
}
五、简单应用
实现电子商务中的购物车,试衣间,一张物品多张图片等功能,我正在用!
查看全文
相关阅读:
assignment of day nine
不会互相转化,看我的
enumrate用法
这是作业
这是表格
本周回顾
爬虫
今天又学了啥?
what have we learnt in day five
OMG that's another blog!
原文地址:https://www.cnblogs.com/kokoliu/p/524421.html
最新文章
线程池的单例构造与使用
微信客户端利用百度地图定位获取位置信息
mybatis 使用criteria 查询xx and ( xx or xx)形式的sql
List集合去除复复元素记录
java 生成js接口签名 页面调用JS-SDK
Enum 枚举类
I/O流
Eclipse实用快捷键
Linux常用命令
Nginx入门
热门文章
nginx 负载均衡
leetcode 动态规划类型题
c++ 中的智能指针实现
面试总结(腾讯深圳总部)
面试总结(上海腾讯优图)
c++ 面试题(海量数据篇)
c++ 中的数字和字符串的转换
C++ 实现 split 操作
c++ 面试题(操作系统篇)
c++ 面试题(数据库)
Copyright © 2011-2022 走看看