黑马程序员技术交流社区
标题:
如何对HashTable的值进行排序?
[打印本页]
作者:
laoyang
时间:
2011-11-14 15:39
标题:
如何对HashTable的值进行排序?
如何对HashTable的值进行排序?
作者:
王维波
时间:
2011-11-14 16:27
对哈希表进行排序在这里的定义是对key/键值对中的key按一定规则重新排列,但是实际上这个定义是不能实现的,因为我们无法直接在Hashtable进行对key进行重新排列,如果需要Hashtable提供某种规则的输出,可以采用一种变通的做法:
ArrayList akeys=new ArrayList(ht.Keys); //别忘了导入System.Collections
akeys.Sort(); //按字母顺序进行排序
foreach(string skey in akeys)
{
Console.Write(skey+ ":");
Console.WriteLine(ht[skey]);//排序后输出
}
作者:
laoyang
时间:
2011-11-14 16:44
保持常态0616 发表于 2011-11-14 16:27
对哈希表进行排序在这里的定义是对key/键值对中的key按一定规则重新排列,但是实际上这个定义是不能实现的 ...
:'(我想对值进行排序,这个值有可能会重复的哦
作者:
zhanghua
时间:
2011-11-14 17:06
对值进行排序,是可以的。Hashtable里的值是对象,
我们可以直接对基本数据类型进行排序,但是并不能对对象排序。
这里sun就规定:对象如果需要被排序,就要实现hashCode()方法,和equals()方法,对 对象的基本属于操作就可以了。
你想对Hashtable的值排序,你可能手动实现排序算法了吧。sun没有提供此类方法,你可以采用TreeMap,底层采层红黑树进行排序。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2