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]);
//
排序后输出
}
五、简单应用
实现电子商务中的购物车,试衣间,一张物品多张图片等功能,我正在用!
查看全文
相关阅读:
Vue.js中css的作用域
vue搭建脚手架
一对多,多对一关系映射
java.time.format.DateTimeFormatter
java.time.ZonedDateTime
Akka(23): Stream:自定义流构件功能-Custom defined stream processing stages
Akka(22): Stream:实时操控:动态管道连接-MergeHub,BroadcastHub and PartitionHub
Akka(21): Stream:实时操控:人为中断-KillSwitch
Akka(20): Stream:异步运算,压力缓冲-Async, batching backpressure and buffering
Akka(19): Stream:组合数据流,组合共用-Graph modular composition
原文地址:https://www.cnblogs.com/kokoliu/p/524421.html
最新文章
草稿
Mapreuduce实现网络数据包的清洗工作
java:list排序
Wireshark抓包常见出现错误
WireShark过滤解析HTTP/TCP
抓包分析
Tcpdump安装使用
Cracking the coding interview--Q1.5
Cracking the coding interview--Q1.4
Cracking the coding interview--Q1.3
热门文章
Cracking the coding interview--Q1.2
Cracking the coding interview--Q1.1
字符串移位:如“abcdefghi”右移2位后变成“cdefghiab”
实现字符串转化为整数函数atoi()函数
实现整数转化为字符串函数itoa()函数
解决Vue的表格中,expand只有某些行需要展开的问题。
Vue.js之路由
Vue.js之组件传值
Vue.js之组件嵌套小demo
Vue.js之组件嵌套
Copyright © 2011-2022 走看看