java 对map中的 value 排序
来源:互联网 发布:打码软件下载 编辑:程序博客网 时间:2024/06/13 02:26
package Map;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;import java.util.Map;import java.util.Map.Entry;import java.util.TreeMap;public class SortMap { public static void main(String[] args) { Map map=new TreeMap (); map.put("图书" , 4); map.put("音像" , 6); map.put("素材" , 9); map.put("音乐" , 8); map.put("影视" , 7); map.put("动漫" , 4); map.put("歌曲" , 3); map.put("图片" , 2); map.put("图标" , 6); ArrayList<Map.Entry<String,Integer>> entries= sortMap(map); for( int i=0;i<5;i++){ System. out.print(entries.get(i).getKey()+":" +entries.get(i).getValue()); } } public static ArrayList<Map.Entry<String,Integer>> sortMap(Map map){ List<Map.Entry<String, Integer>> entries = new ArrayList<Map.Entry<String, Integer>>(map.entrySet()); Collections.sort(entries, new Comparator<Map.Entry<String, Integer>>() { public int compare(Map.Entry<String, Integer> obj1 , Map.Entry<String, Integer> obj2) { return obj2.getValue() - obj1.getValue(); } }); return (ArrayList<Entry<String, Integer>>) entries; }}
此时是按照降序排序,如果想升序排序,则Comparator的 返回 改为obj1.getValue() - obj2.getValue();即可
总结:由于TreeMap主要是针对key进行默认排序的,但是有的时候我们需要对value进行排序,这时候主要采取的策略是 将map变为List,然后利用Collections.sort进行排序,同时重写Comparator方法,即可。
0 0
- java 对map中的 value 排序
- 对map中的value进行排序
- 如何对map中的value进行排序
- 对Map中的value进行排序
- java对Map按Value进行排序
- java对map中value的排序
- Java的Map中的value排序
- Map对value进行排序
- java.util.map中对value值排序
- java Map 按value排序
- Java Map按照Value 排序
- Java按Value排序Map
- Java Map按Value排序
- java map按照value排序
- Map四种获取key和value值的方法,以及对map中的元素排序
- Map四种获取key和value值的方法,以及对map中的元素排序
- Map四种获取key和value值的方法,以及对map中的元素排序
- 对hashmap中的value排序
- 数据库中空字符串和NULL值两个概念的区别
- HttpOnly介绍以及防止XSS攻击时的作用(转)
- 埋头苦干
- 黑马程序员-Java获取时间与math函数库
- Linux vmstat命令实战详解
- java 对map中的 value 排序
- PHP计算2点经纬度之间的距离代码
- java学习之MVC模型(二)
- Linux-启动挂载
- Android studio安装:
- Oracle插入或修改 报ORA-01704: 文字字符串太长
- ICONFONT在APP中的使用
- LightOJ 1104 - Birthday Paradox【概率】
- 判断手机网络连接状态