注销

注销

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  112 随笔 :: 7 文章 :: 18 评论 :: 0 Trackbacks


using  System;
using  System.Collections;

namespace  NoSortHashtable
{
    
///   <summary>
    
///  Summary description for Class1.
    
///   </summary>
     class  Class1
    {
        
///   <summary>
        
///  The main entry point for the application.
        
///   </summary>
        [STAThread]
        
static   void  Main( string [] args)
        {
            Hashtable hashTable 
=   new  Hashtable();

            hashTable.Add(
" hunan " , " changsha " );
            hashTable.Add(
" beijing " , " beijing " );
            hashTable.Add(
" anhui " , " hefei " );
            hashTable.Add(
" sichuan " , " chengdu " );
            
foreach ( string  str  in  hashTable.Keys)
            {
                Console.WriteLine(str 
+   "  :  "   +  hashTable[str]);
            }

        }
    }
}

打印的结果是:
    anhui : hefei
    hunan : changsha
    sichuan : chengdu
    beijing : beijing

当然,产生这个结果的原因大家都知道,Hashtable内部的排序机制使然,但我现在就是不想排序,我按什么顺序输入的,就想它再怎么给我输出,怎么办?去Google酷了一下,却因为不知道使用什么关键字去酷,结果没有酷出好的相关问题来。
我想到,ArrayList是不排序的啊,那是不是让ArrayList和Hastable配成良缘,那么它们的结晶就是我想要的呢,既有Hashtable的丰富功能,又可以满足我的BT的要求(不排序),动手了。
using System;
using System.Collections;

namespace NoSortHashtable
{
    
/// <summary>
    
/// Summary description for NoSortedHashtable.
    
/// </summary>

    public class NoSortHashtable : Hashtable
    
{
        
private ArrayList keys = new ArrayList();

        
public NoSortHashtable()
        
{
        }

        

        
public override void Add(object key, object value)
        
{
            
base.Add (key, value);
            keys.Add (key);
        }


        
public override ICollection Keys
        
{
            
get
            
{
                
return keys;
            }

        }


        
public override void Clear()
        
{
            
base.Clear ();
            keys.Clear ();
        }


        
public override void Remove(object key)
        
{
            
base.Remove (key);
            keys.Remove    (key);
        }

        
public override IDictionaryEnumerator GetEnumerator()
        
{
            
return base.GetEnumerator ();
        }


    }

}

posted on 2006-11-22 11:02 注销..... 阅读(406) 评论(0)  编辑  收藏 所属分类: .net摘要

只有注册用户登录后才能发表评论。


网站导航: