.net 数据结构与算法基础:Hashtable
2012-11-23 16:25
501 查看
C#中HashTable的用法
哈希表(Hashtable)简述
在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似keyvalue的键值对,通过哈希函数Key与数组中某一位置相对应,因此key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值。Hashtable中keyvalue键值对均为object类型,所以Hashtable可以支持任何类型的keyvalue键值对.哈希表的简单操作
在哈希表中添加一个keyvalue键值对:HashtableObject.Add(key,value);在哈希表中去除某个keyvalue键值对:HashtableObject.Remove(key);
从哈希表中移除所有元素: HashtableObject.Clear();
判断哈希表是否包含特定键key: HashtableObject.Contains(key)
哈希表单词查询简单实例
思路:将单词作为Key,解释作为Value,C#通过内置哈希函数将其存储在数组当中,值得注意的是C#中的hashtable冲突采用桶的思想,即在同一地址中使用ArrayList.Hashtable hash = new Hashtable();
private void Form1_Load(object sender, EventArgs e)
{
buildhash();
showlist();
}
private void showlist()
{
string[] word=new string[100];
hash.Keys.CopyTo(word,0);
for (int i = 0; i < word.GetUpperBound(0); i++)
{
if (word[i] != null)
{
listBox1.Items.Add(word[i]);
}
}
}
private void buildhash()
{
StreamReader reader;
string line;
string[] words=new string[2];
string path = Application.StartupPath + @"\words.txt";
reader = File.OpenText(path);
char[] chars = new char[] {','};
while (reader.Peek() != -1)
{
line=reader.ReadLine();
words=line.Split(chars);
hash.Add(words[0],words[1]);
}
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
string a = hash[listBox1.SelectedItem].ToString();
richTextBox1.Text = a;
}
程序结果:
程序下载:http://download.csdn.net/detail/xiang__jiangsu/4803386
相关文章推荐
- .net 数据结构与算法基础:图的操作
- .net 数据结构与算法基础:泛型链表使用
- .net 数据结构与算法基础:二叉树
- .net 数据结构与算法基础:高级排序
- .net 数据结构与算法基础:泛型编程、时间测试
- 基础数据结构算法_DFS and BFS
- 开发与面试涉及的基础数据结构和算法-Algorithm
- 【算法学习笔记】07.数据结构基础 链表 初步练习
- 【数据结构与算法基础】单链表及其应用基数排序 / Singly Linked List and radix sort
- 算法竞赛入门经典:第六章 数据结构基础 6.2铁轨
- 算法与数据结构基础8:C++实现有向图——邻接表存储
- 【复习】软件设计师之数据结构与算法基础
- 数据结构和算法 (二)数据结构基础之树、二叉树
- 【算法学习笔记】07.数据结构基础 链表 初步练习
- python学习笔记(十一)——算法与数据结构基础(算法概述+查找算法)
- 【数据结构与算法基础】栈及其应用后缀、中缀表达式 / Stack and postfix/infix expression
- 算法竞赛入门经典:第六章 数据结构基础 6.3移动小球
- ZH奶酪:【数据结构与算法】基础排序算法总结与Python实现
- 笔试、面试重点总结:算法基础、数据结构
- 数据结构与算法基础1