日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Hashtable排序

發布時間:2024/4/15 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hashtable排序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Hashtable 的煩惱!
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?();
????????}


????}

}


再試
??????????? hashTable?=?new?NoSortHashtable();

????????????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]);
????????????}

打印結果:
??? hunan : changsha
??? beijing : beijing
??? anhui : hefei
??? sichuan : chengdu


問題解決!!
應該很早之前就有人這么解決,只是我不知道而已,高手也應該有更好的辦法,只是我想不到而已!
見笑,見諒!

總結

以上是生活随笔為你收集整理的Hashtable排序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。