社区
C#
帖子详情
HashTable 能够不排序吗﹖
Frank6600
2007-03-23 02:42:23
HT 为 HashTable
我使用 HT.Add(Key, Value) 来添加值对,
当我把它取出来时,
发现Key自动排序了。
能够不让它排序吗﹖
我希望保持原本 Add 的顺序。
如果 HashTable 一定会排序,
那么我不要排序的话得改用哪个组件﹖
...全文
717
11
打赏
收藏
HashTable 能够不排序吗﹖
HT 为 HashTable 我使用 HT.Add(Key, Value) 来添加值对, 当我把它取出来时, 发现Key自动排序了。 能够不让它排序吗﹖ 我希望保持原本 Add 的顺序。 如果 HashTable 一定会排序, 那么我不要排序的话得改用哪个组件﹖
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Frank6600
2007-03-23
打赏
举报
回复
好的,多谢以上诸位。
要结帖了。
Red_angelX
2007-03-23
打赏
举报
回复
构造一个Key-Value结构用List<>存
北京的雾霾天
2007-03-23
打赏
举报
回复
对你要保证按你的Add顺序,你最好换用ArrayList,或用List<T>.
Frank6600
2007-03-23
打赏
举报
回复
或许是我搞错了,
HashTable 不是自动排序,
而是「以它自己方便的方式」排列,
即,它会打乱我原本Add的顺序。
看来我得换另一个适用的组件,
或者与 Arraylist 一起使用。
即ArrayList保存顺序,
HashTable保存值对,
取出时同时参考两者。
目前只想到这个方法。
vrhero
2007-03-23
打赏
举报
回复
.NET 2.0 以上版本,HashTable 已过时,改用 Dictionary 泛型,如果需要排序可用 SortedDictionary 泛型...
北京的雾霾天
2007-03-23
打赏
举报
回复
HashTable会自动排序吗?
那还要SortList做什么?
shadowno
2007-03-23
打赏
举报
回复
arraylist
hashtable
sortedlist
这3个集合对象,功能依次增强,系统开销也依次增大。hashtable 应该是不支持排序的,他有个唯一键值也是为了提高查询速度。
arraylist 是不是合适你用?
Frank6600
2007-03-23
打赏
举报
回复
> 哈希表内部按照Hashcode来排序的。我们无法让哈希表排序,可以借ArrayList来用。
> ArrayList arr = new ArrayList(hash.Keys);
> arr.Sort();
你误解了,我「不」要排序。
yumanqing
2007-03-23
打赏
举报
回复
因为Hashtable用了hash算法,所以表里的数据顺序是不定的,最好不要用它来解决这样的问题
建议用数组
Frank6600
2007-03-23
打赏
举报
回复
对了,忘了说明我取出数据的方法了:
(也许是因为我取出数据方法有误导致排序)
我使用 Enum=DC.GetEnumerator 取得 IDictionaryEnumerator 接口,
然后再以 Enum.MoveNext 循序取出数据
是不是我取出数据的方法错了﹖
如果是,
正确的不排序地取出数据方法是什么﹖
kkk_visual
2007-03-23
打赏
举报
回复
哈希表内部按照Hashcode来排序的。我们无法让哈希表排序,可以借ArrayList来用。
ArrayList arr = new ArrayList(hash.Keys);
arr.Sort();
Java集合框架精讲
本课程是《零基础学Java》课程的第八阶段的课程,该课程延续了之前课程的授课风格!内容经过精心雕琢,细致设计,
能够
做到讲解深入浅出、通俗易懂!可以真正让学员学有所获!该课程内容包括:Collection集合的继承体系、Map集合的集合体系、部分数据结构知识点、List、Set、ArrayList、Vector、LinkedList、Iterator(迭代器)、TreeSet、HashSet、LinkedHashSet、TreeSet、Map、TreeMap、HashMap、
Hashtable
、LinkedHashMap、Collections等知识点的讲解!
hashtable
排序
java_[Java] HashMap、TreeMap、
Hashtable
排序
Java中对Map(HashMap,TreeMap,
Hashtable
等)的
排序
时间首先简单说一下他们之间的区别:HashMap: 最常用的Map,它根据键的HashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度。HashMap最多只允许一条记录的键为Null(多条会覆盖);允许多条记录的值为 Null。非首先简单说一下他们之间的区别:HashMap: 最常用的Map,它根据键的...
Java中对Map(HashMap,TreeMap,
Hashtable
等)的
排序
简介:这是Java中对Map(HashMap,TreeMap,
Hashtable
等)的
排序
的详细页面,介绍了和java,有关的知识、技巧、经验,和一些java源码等。首先简单说一下他们之间的区别: hashmap: 最常用的map,它根据键的hashcode 值存储数据,根据键可以直接获取它的值,具有很快的访问速度。hashmap最多只允许一条记录的键为null(多条会覆盖);允许多条记录的值为 null。非同步的。 treemap:
能够
把它保存的记录根据键(key)
排序
,默认是按
Hashtable
的简介
Hashtable
是非泛型的集合,所以在检索和存储值类型时通常会发生装箱与拆箱的操作。 当把某个元素添加到
Hashtable
时,将根据键的哈希代码将该元素放入存储桶中,由于是散列算法所以会出现一个哈希函数
能够
为两个不同的键生成相同的哈希代码,该键的后续查找将使用键的哈希代码只在一个特定存储桶中搜索,这将大大减少为查找一个元素所需的键比较的次数。
Hashtable
的加载因子确定元素与
Hashtable
可拥有的元素数的最大比率。加载因子越小,平均查找速度越快,但消耗的内存也增加...
C#
110,535
社区成员
642,577
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章