对map的value值排序
来源:互联网 发布:电脑位数怎么看 mac 编辑:程序博客网 时间:2024/06/05 05:59
一,MapUtil
package com.util;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.Iterator;import java.util.LinkedHashMap;import java.util.List;import java.util.Map;import java.util.Map.Entry;public class MapUtil {/** * 对map排序。 */public static Map<String, Double> sortMapByValue(Map<String, Double> oriMap) { Map<String, Double> sortedMap = new LinkedHashMap<String, Double>(); if (oriMap != null && !oriMap.isEmpty()) { List<Map.Entry<String, Double>> entryList = new ArrayList<Map.Entry<String, Double>>(oriMap.entrySet()); Collections.sort(entryList, new Comparator<Map.Entry<String, Double>>() { public int compare(Entry<String, Double> entry1, Entry<String, Double> entry2) { double value1 = 0, value2 = 0; try { value1 = entry1.getValue() * 1000; value2 = entry2.getValue() * 1000; } catch (NumberFormatException e) { value1 = 0; value2 = 0; } return (int) (value2 - value1); } }); Iterator<Map.Entry<String, Double>> iter = entryList.iterator(); Map.Entry<String, Double> tmpEntry = null; while (iter.hasNext()) { tmpEntry = iter.next(); sortedMap.put(tmpEntry.getKey(), tmpEntry.getValue()); } } return sortedMap; }}
二,测试
public static void main(String[] args) {Map<String,Double> map = new LinkedHashMap<String,Double>();map.put("no1", 2.25);map.put("no2", 4.4);map.put("no3", 10.0);map.put("no4", 3.51);map.put("no5", 2.05);map.put("no6", 13.1);map.put("no7", 9.77);//对map的value值排序Map<String,Double> sortMap = MapUtil.sortMapByValue(map);System.out.println(sortMap);}
三,打印结果:
{no6=13.1, no3=10.0, no7=9.77, no2=4.4, no4=3.51, no1=2.25, no5=2.05}
0 0
- 对map的value值排序
- java对map中value的排序
- 根据value值对map进行排序
- map的value值排序
- Map对value进行排序
- Map四种获取key和value值的方法,以及对map中的元素排序
- Map四种获取key和value值的方法,以及对map中的元素排序
- Map四种获取key和value值的方法,以及对map中的元素排序
- 对map的value进行排序的方法
- 关于Map类型中对value进行排序的问题
- STL 对map的key和value进行大小排序
- 对Map里面的key和value按字母排序
- 对Map的key和value进行排序
- 对Map的key和value进行排序
- Map<String, Double>实现对value的降序排序
- 使用map的value值排序
- Map的按value值排序
- 根据Map的value值进行排序
- 关于科学上网和编辑器
- 怎样理解JAVA中面向对象?
- 缓慢回到顶部
- 不用第三方比变量,交换2个变量的值
- 《JS高程(3)》DOM扩展-HTML5-第11章笔记(20)
- 对map的value值排序
- yii接值方式判断以及获取当前用户ip
- springBatch多线程设置
- ArcGIS Server无法访问服务案例处理
- Python IDE专用编辑器PyCharm下载及配置安装过程(Ubuntu环境)
- IDEA——开发工具快捷键
- Mac应用编程指南之三——核心应用设计
- 取出分组之后每组前10条数据 oracle
- poj1575