zoukankan      html  css  js  c++  java
  • HashTable的使用(转)

    一、Hashtable概述

    Hashtable集合中的元素以Key/Value方式存在。Key用来快速查找;Value用于存储对应于Key的值。值得注意的是Key和Value均为object类型。

    二、对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 用来存放用户的数据。

  • 相关阅读:
    hdu1180奇怪的楼梯……bfs迷阵……wa该16二级,我太渣滓
    Android新闻案例clientserver达到,完全自己的新闻节目平台
    xcode代码统计行
    linux每个路由表的系统研究
    Oracle 学习笔记 18 -- 存储函数和存储过程(PL/SQL子程序)
    《网络编程》ioctl 操作
    Android framework召回(3)binder使用和IBinder BpRefbase IInterface INTERFACE 之间的关系
    使用关节型
    leetcode 218: The Skyline Problem
    删除依赖命令
  • 原文地址:https://www.cnblogs.com/VirtualMJ/p/674590.html
Copyright © 2011-2022 走看看