map按照value进行排序
今天接到一个任务:
一个已知的map按照value进行排序。
分析: hashMap是没有顺序的,要想使map有顺序,需要使用其他的map:比如treeMap 。 而排序就用Collection.sort()就可以了。
废话不多说,直接看代码。
Map<String, String> map = new TreeMap<String, String>(); map.put("d", ""); map.put("c", "nolimit"); map.put("b", "4000000000"); map.put("a", "133"); //这里将map.entrySet()转换成list List<Map.Entry<String,String>> list = new ArrayList<Map.Entry<String,String>>(map.entrySet()); //然后通过比较器来实现排序 Collections.sort(list,new Comparator<Map.Entry<String,String>>() { //升序排序 public int compare(Entry<String, String> o1,Entry<String, String> o2) { if(StringUtil.isEmpty(o1.getValue())){ o1.setValue("0"); } if(StringUtil.isEmpty(o2.getValue())){ o2.setValue("0"); } if("nolimit".equalsIgnoreCase(o1.getValue())){ o1.setValue("9999999999999"); } if("nolimit".equalsIgnoreCase(o2.getValue())){ o2.setValue("9999999999999"); } return (new BigDecimal(o1.getValue())).compareTo(new BigDecimal(o2.getValue())); } }); for(Map.Entry<String,String> mapping:list){ System.out.println(mapping.getKey()+":"+mapping.getValue()); }
我曾七次鄙视自己的灵魂:
第一次,当它本可进取时,却故作谦卑;
第二次,当它空虚时,用爱欲来填充;
第三次,在困难和容易之间,它选择了容易;
第四次,它犯了错,却借由别人也会犯错来宽慰自己;
第五次,它自由软弱,却把它认为是生命的坚韧;
第六次,当它鄙夷一张丑恶的嘴脸时,却不知那正是自己面具中的一副;
第七次,它侧身于生活的污泥中虽不甘心,却又畏首畏尾。