标题:哈希表的问题
只看楼主
ntxiaosu
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2009-9-2
结帖率:0
已结贴  问题点数:20 回复次数:4 
哈希表的问题
namespace Example_QueryTest
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建哈希表,并添加元素
            Hashtable ht = new Hashtable();
            ht.Add("banana","香蕉");
            ht.Add("apple","苹果");
            ht.Add("pineapple","菠萝");
            ht.Add("orange","桔子");
            //使用键集合遍历哈希表
            Console.WriteLine("通过键遍历哈希表集合得到的值");
            foreach (string mykey in ht.Keys)
            {
            string str=(string)ht[mykey];
            Console.WriteLine(str);
            }
请问结果为什么是:菠萝,桔子,苹果,,香蕉.而不是香蕉,苹果,菠萝,桔子??
搜索更多相关主题的帖子: 哈希 
2009-09-02 23:15
jedypjd
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:9
帖 子:1096
专家分:4969
注 册:2009-7-27
得分:6 
很明显按字母先后排序嘛

天涯无岁月,歧路有风尘,百年浑似醉,是非一片云
2009-09-03 09:34
baikil
Rank: 10Rank: 10Rank: 10
来 自:X星球
等 级:青峰侠
威 望:4
帖 子:282
专家分:1580
注 册:2009-7-20
得分:6 
在哈希表中是以key值有序的存储.
和字典差不多吧,
你可以看看你家的新华字典是怎么存储的
不过C#还可以用字典哦

自创QQ群64885635,方便C#学习交流.希望各项工作路好学都好入!
2009-09-03 10:04
Kiss_零
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:164
专家分:125
注 册:2008-11-21
得分:6 
很遗憾,事实上哈希表内部数据是无序的。
如果你想做到有序输出的话,我提供一个方法,将Keys放到ArrayList中,利用ArrarList的Sort()方法(当然你也可以按照需要重写Sort()方法),之后再通过排序完的ArrarList到哈希表里面读取出对应的Value。
2009-09-04 03:34
Kiss_零
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:164
专家分:125
注 册:2008-11-21
得分:0 
如果非要说哈希表内部的排序的话,我想,是不是按照Keys生成一个哈希值,让后按照这个哈希值进行排序。
2009-09-04 03:42



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-284594-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.521972 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved