有没办法让HashMap的keySet()方法得到的Set顺序与put()入时的一样 有没办法让HashMap的keySet()方法得到的Set顺序与put()入时的一样 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 估计没办法。那样的的话,就不叫“Hash”Map了。因为失去了HashMap最大的特性:查询速度快。HashMap按照key的HashCode排序,从而达到比线性搜索甚至二分搜索都高的查询速度。 并不是完全没有办法!至少是我们现在没有用心去想!你可以研究一下HashMap的源代码,找出实现方法put的具体算法,然后根据这个算法写一个处理方法,就可以得到你想要的结果!不过很难的,呵呵! 我觉得不是用心不用心的问题,也不用研究源代码,完全可以继承HashMap,通过在派生类中增加一个按照插入顺序排序的键的List来达到目的。但楼主问的是HashMap。:( 这个不大可能吧,Hash就决定了KeySet的顺序是散列的啊 MAP本身就其自己的一种排序方法,按照hashcode定义的规则。如果一定要按照put时的顺序,可以考虑用list吧,不过查找效率会低,还可以考虑用set来实现吧,定义set时,需要覆写其equals和hashcode方法,取出的时候按照定义的规则去处理 根据key的hashCode赖排序,并没有记录put()的先后顺序。 或者自己写一个和HashMap类似的HashMap,按这种规则放,或者是取出来然后自己排次序就行了 在JDK1.4中是可以的!你可以使用LinkedHashMap,它已经完成了这个功能 它的存储还是和HashMap一样,只是增加多了一个插入顺序的链表 在JDK1.4中是可以的!你可以使用LinkedHashMap,它已经完成了这个功能同意这个老大的说法。用这个可以排序的 哦,对的,已经有了,呵呵。就是LinkedHashMap。又土了一把。-_- KeySet的顺序是散列的,好象不能行我也建议你用使用LinkedHashMap,很容易实现的 使用spring2.0,配置文件的文件名不是applicationcontext.xml就报错!使用myeclipse工具,一个web项目为什么只能创建一个配置文件?把这文件删除后如何新建一个? 请做过有关地图的项目的高手进 提问一个自己在做GUI界面遇到的问题 !!!!!! 关于接口中方法的问题 这个测试的结果为什么是这样呢? substring 的菜鸟问题 菜鸟的难题? 请问有谁做过java调用vb的动态库,有不解 Thinking in java 书中一问? 线程问题 robber先生,没解决问题? java可以读取出word等文件的摘要信息嘛? 关于转义字符串的小问题!
HashMap按照key的HashCode排序,从而达到比线性搜索甚至二分搜索都高的查询速度。
你可以研究一下HashMap的源代码,找出实现方法put的具体算法,然后根据这个算法写一个处理方法,就可以得到你想要的结果!不过很难的,呵呵!
但楼主问的是HashMap。:(
同意这个老大的说法。用这个可以排序的
就是LinkedHashMap。
又土了一把。-_-
我也建议你用使用LinkedHashMap,很容易实现的