HashTable 使用

来源:互联网 发布:手机阻拦广告软件 编辑:程序博客网 时间:2024/06/05 05:01

二、对Hashtable操作
   对Hashtable操作包括:

   1)添加集合元素
   2)检索集合元素
   3)遍历
   4)排序集合元素
   5)修改集合元素
   6)删除集合元素

以下简单的控制台程序实现上述操作(C#)

 

namespace hashtableOp
{
    
using System;
    
using System.Collections;    
    
    
class sample
    {
        

        
static void Main(string[] args)
        {
            
            
// 创建Hashtable集合
            Hashtable ht =new Hashtable();
            
            
// 向集合中添加 key/value 对
            ht.Add("1""apple");
            ht.Add(
"2""orange");
            ht.Add(
"3","strawberry");
            ht.Add(
"0","fruit");

            
// 通过 key 找到 value
            Console.WriteLine("通过 key 找到 value");
            
string v=(string)ht["1"];
            Console.WriteLine(v);

            
// 遍历集合
            Console.WriteLine("/n遍历集合");
            
foreach( DictionaryEntry de in ht)
                Console.WriteLine(
"Key=/"{0}/"/tValue=/"{1}/"",de.Key.ToString(), de.Value.ToString());
            
            
// 对集合进行排序
            Console.WriteLine("/n对集合进行排序");
            ArrayList aKeys
=new ArrayList(ht.Keys);
            aKeys.Sort();
            
foreach(string key in aKeys)
                Console.WriteLine(
"Key=/"{0}/"/tValue=/"{1}/"",key, ht[key].ToString());

            
// 修改指定 key 的 value
            ht["0"]="Animal";
            ht[
"1"]="Monkey";
            ht[
"2"]="Horse";
            ht[
"3"]="Donkey";
            Console.WriteLine(
"/n遍历修改后集合");
            
foreach( DictionaryEntry de in ht)
                Console.WriteLine(
"Key=/"{0}/"/tValue=/"{1}/"",de.Key.ToString(), de.Value.ToString());

            
// 删除集合元素
            ht.Remove("2");
            ht.Remove(
"1");
            Console.WriteLine(
"/n遍历删除元素后集合");
            
foreach( DictionaryEntry de in ht)
                Console.WriteLine(
"Key=/"{0}/"/tValue=/"{1}/"",de.Key.ToString(), de.Value.ToString());

            
// 删除所以集合元素
            ht.Clear();
        }
    }
}



一、集合基本概念

在程序中,常用集合(Collection)来组织那些数量不定而且不需要明确表达前驱后继关系的元素(Element)。可以一个比喻来描述集合:集合类似一个袋子(Bag),这个袋子用来装物品(集合元素),装入袋子的物品是没有次序的。按正规术语所描述的集合的核心意思与前面那个比喻所表达意思是一样的。集合是一个容器(Container)对象,用来存储集合元素(Element)。此外集合还提供存取、检索、遍历集合元素的各种方法。

一般来说,集合所提供的对集合元素的操作有以下几个:

1)Add 向集合容器中添加一个元素;
2)Remove 从集合容器中删除一个元素;
3)Clear 将集合容器中的元素清空;
4)从集合容器中检索特定集合元素。可以根据集合元素的键(key)或者集合元素的下标号(确切地说是Index)检索集合元素;
5)遍历集合元素。遍历就是快速地检视集合容器中所有集合元素。

二、 HashTable

HashTable是一个集合容器,这个容器中的集合元素有点特别,一个集合元素由两个对象构成:一个对象是key;另一个对象是Value,构成所谓的 Key/Value 对。按MSDN的定义,HashTable中的元素类型是 DictionaryEntry 类型。DictionaryEntry 是一个具有 Key/Value 对的对象类型。

Key 用来快速查找(检索)HashTable 集合元素;而Value 用来存放用户的数据。

0 0