社区
Java SE
帖子详情
关于HashMap的排序
maowu
2004-03-15 11:45:50
我现在有一个HashMap,
我想根据里面的key的排序(key已经实现Comparable)
按顺序逐一取出每个Object,
有什么比较高效的方法?
...全文
96
14
打赏
收藏
关于HashMap的排序
我现在有一个HashMap, 我想根据里面的key的排序(key已经实现Comparable) 按顺序逐一取出每个Object, 有什么比较高效的方法?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
maowu
2004-03-16
打赏
举报
回复
实践结果:
HashMap map = new HashMap();
map.put("1", "1");
map.put("3", "3");
map.put("2", "2");
map.put("4", "4");
Iterator iterator = map.keySet().iterator();
while(iterator.hasNext()){
Object key = iterator.next();
Object obj = map.get(key);
System.out.println(obj);
}
System.out.println("---------------------------");
Object[] key = map.keySet().toArray();
Arrays.sort(key);
for (int i = 0; i < key.length; i++) {
System.out.println(map.get(key[i]));
}
运行上面的程序后打印的结果是
3
2
4
1
---------------------------
1
2
3
4
明显,加入的在hashmap里的排序跟key对象的Comparable没有任何关系.
maowu
2004-03-16
打赏
举报
回复
虎猫,真的吗?我不知道哦.我试试看.
simonhappy
2004-03-15
打赏
举报
回复
取出Key的集合,然后调用Arrays.sort()
追求自由
2004-03-15
打赏
举报
回复
treeMap按自然顺序,如果你按它默认的构造方法构造的话。
LinkedHashMap是按你加入的顺序。
另外:
如果你要记录map加入的顺序,配合LinkedList使用。
把标识放到list里!!!
取的时候按list的顺序从
map里取~~~~
duracell
2004-03-15
打赏
举报
回复
最简单的就用
Map new_map = new TreeMap(now_map);
就已经排好序了
maowu
2004-03-15
打赏
举报
回复
稳定排序 是什么?
我看看SortedMap先.
maowu
2004-03-15
打赏
举报
回复
Map是别人传过来的,
我可以转化给set或者Collection,
但是我不知道怎么对set进行排序....
topglory
2004-03-15
打赏
举报
回复
首先你要明白自己的排序需不需要稳定排序
另外有一个SortedMap,我也没用过,你可以看看java API文档
我相信使用它会比排序更高效,它应该是插入元素时按顺序插入
wy7861
2004-03-15
打赏
举报
回复
HashMap本身并不适合排序,也就是说如果你要排序的话,最好不要用HashMap~~
如果要用,可以从HashMap中得到Collection来排序~~
yjsyjs
2004-03-15
打赏
举报
回复
自己重载数据接口的sort,用二分法
jerrygui
2004-03-15
打赏
举报
回复
up,我有同样的问题;
bingziyu
2004-03-15
打赏
举报
回复
你们说的Comparable是什么意思?
我看了好长时间也没搞清楚,听说他可以自己规定比较方法,
但是怎么用啊?
wushicnn
2004-03-15
打赏
举报
回复
实现Comparable后,在插入元素时,已经按照Comparable排序了,迭代取出元素有什么问题?
maowu
2004-03-15
打赏
举报
回复
Map mapModifyied = getMap();
Object[] key = mapModified.keySet().toArray();
Arrays.sort(key);
这样经过了两次转换:Map --> Set , Set --> Object[],
是不是很浪费?
HashMap
排序
hashMap
排序
,
hashmap
使用还是比较频繁。这时自己写的一个实现
hashmap
排序
的例子
HASHMAP
排序
功能描述
HASHMAP
排序
,对一个无序以KEY为数字的MAP进行
排序
,比较简单操作
关于
HashMap
排序
的一点浅见
关于
HashMap
排序
的一点浅见我们在对
hashmap
进行
排序
的时候存在一定的误解,首先在这更正下~我在遇到这个问题的时候也上网查了相关的资料,发现大家在进行
hashmap
进行
排序
的时候存在一定的了解误区。 有很多人认为把...
HashMap
排序
的方式
记录用过的
HashMap
排序
方式,个人学习向。
java中
hashMap
排序
首先我们要知道
HashMap
本身就是不可
排序
的,但这里我们要使
HashMap
排序
,那我们就得想在 API 中有没有这样的 Map 结构是有序的,那就需要用上Linked
HashMap
,它是 Map 结构,也是链表结构有序的,更重要的是它是...
Java SE
62,615
社区成员
307,307
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章