java Map排序(按key和按value)

来源:互联网 发布:软件开发规范化流程 编辑:程序博客网 时间:2024/05/22 04:36

java map排序(按key和按value)

转自:http://blog.163.com/mageng11@126/blog/static/140808374201138888899993/

1、按照key排序

对于java中map的排序,有排序map,比如treemap,对于这个map,首先只能按照键排序,其次再put和remove的时候由于需要排序,性能上会有所牺牲。

这种方案,使用hashmap进行创建和添加,如果需要按照key排序,则可以将该hashmap作为参数传递到new treemap(hashmap),则可以完成按照key的排序

java代码

treemap treemap = new treemap(hashmap);

treemap treemap = new treemap(hashmap);

2、按照value排序

使用hashmap,然后添加比较器,进行排序

java代码

collections.sort(hashtmap, new comparator>() {

public int compare(map.entry o1, map.entry o2) {

return (o2.getvalue() - o1.getvalue());

}

});

collections.sort(hashtmap, new comparator>() {

public int compare(map.entry o1, map.entry o2) {

return (o2.getvalue() - o1.getvalue());

}

});

当然比较器按照个人需求写。这只是简单的key是string,然后按照拼音排序,value是int,按照大小排序。。

如果大家有什么比较好的map的排序方式,期待讨论。。。

绿色通道:好文要顶关注我收藏该文与我联系

posted on 2011-10-15 13:02oisiv 阅读(31) 评论(0)编辑 收藏


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/