Hashtable本身并没有排序功能,相对来说,它的主要优点在于快速查找。
但有的时候我们也需要对Hashtable里面的元素进行排序,这就需要变通的方法来实现。
大家都知道:ArrayList它有一个Sort()方法,可以将里面的元素进行排序,试想如果将Hashtable里面的元素导入到ArrayList里面,然后再进行排序,这倒是一个不错的想法,现在我们加以实现:
Hashtable 排序using System;
Hashtable 排序
using System.Collections;
Hashtable 排序
Hashtable 排序
namespace PublicBill.HashtableSort
}

程序运行结果见图一:
Hashtable 排序       Hashtable 排序
排序完成了,但是像图二那样,要实现反向排序(倒序)该如何操作?
好像ArrayList里面也就仅仅提供了一个Sort()方法,没有提供给我们直接倒序的方法,
废话少说,见如下代码: 
Hashtable 排序using System;
Hashtable 排序
using System.Collections;
Hashtable 排序
Hashtable 排序
namespace PublicBill.HashtableSort
}

程序运行结果见图二。
说 明:  
   如果你想实现升序,只需要把
   r = -((IComparable)a.Key).CompareTo(b.Key); 前面的负号去掉, 
   改为: r = ((IComparable)a.Key).CompareTo(b.Key); 

相关文章: