java Map排序(按key和按value)
来源:互联网 发布:c 游戏编程入门 编辑:程序博客网 时间:2024/06/10 12:26
1、按照key排序
对于java中Map的排序,有排序Map,比如TreeMap,对于这个Map,首先只能按照键排序,其次再put和remove的时候由于需要排序,性能上会有所牺牲。
这种方案,使用hashmap进行创建和添加,如果需要按照key排序,则可以将该hashmap作为参数传递到new TreeMap(hashmap),则可以完成按照key的排序
- TreeMap treemap = new TreeMap(hashmap);
TreeMap treemap = new TreeMap(hashmap);
2、按照value排序
使用hashmap,然后添加比较器,进行排序
- Map<String, Integer> keyfreqs = new HashMap<String, Integer>();
- ArrayList<Entry<String,Integer>> l = new ArrayList<Entry<String,Integer>>(keyfreqs.entrySet());
- Collections.sort(l, new Comparator<Map.Entry<String, Integer>>() {
- public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
- return (o2.getValue() - o1.getValue());
- }
- });
- for(Entry<String,Integer> e : l) {
- System.out.println(e.getKey() + "::::" + e.getValue());
- }
Map<String, Integer> keyfreqs = new HashMap<String, Integer>();ArrayList<Entry<String,Integer>> l = new ArrayList<Entry<String,Integer>>(keyfreqs.entrySet()); Collections.sort(l, new Comparator<Map.Entry<String, Integer>>() { public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) { return (o2.getValue() - o1.getValue()); } });for(Entry<String,Integer> e : l) {System.out.println(e.getKey() + "::::" + e.getValue());}
当然比较器按照个人需求写。这只是简单的key是string,然后按照拼音排序,value是int,按照大小排序。。
0 0
- java map按key和value排序
- java Map排序(按key和按value)
- java Map排序(按key和按value)
- Java Map 按Key排序和按Value排序
- Java Map 按key排序和按Value排序
- Java Map 按key排序和按Value排序
- Java Map 按key排序和按Value排序
- Java Map 按key排序和按Value排序
- Java Map 按key排序和按Value排序
- Java Map 按key排序和按Value排序
- Java Map 按Key排序和按Value排序
- Java Map 按Key排序和按Value排序
- Java Map 按Key排序和按Value排序
- Java Map 按Key排序和按Value排序
- Java Map 按key排序和按Value排序
- Java Map 按key排序和按Value排序
- Java Map 按Key排序和按Value排序
- Java Map 按key排序和按Value排序
- typedef struct和struct的区别
- wiki企业版confluence的PPT中文乱码问题
- Android 中Touch(触屏)事件传递机制
- 软件开发方法
- 类成员指针和类成员函数指针
- java Map排序(按key和按value)
- 没有路由器,也可以很好的畅游无线网络
- 非常有用的15个Linux 服务器监控命令
- mysql高可用探究(二)Lvs+Keepalived+Mysql单点写入主主同步高可用方案
- Flex 亮度、对比度、饱和度和色相的设置
- SoC
- 百度百科 BFS
- Mac下 git 终端的utf-8 字符显示
- SQL 集合运算