HashTable 使用

二、对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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值