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]);
????????????}
????????}
????}
}
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的要求(不排序),動手了。




































































