java Map排序(按key和按value)

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:02 oisiv 阅读(31) 评论(0)编辑 收藏


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值