java map 根据 map的value值进行排序
Posted 曾鸿发
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java map 根据 map的value值进行排序相关的知识,希望对你有一定的参考价值。
1 //根据销量排行查询 2 public void queryGoodsByHotCount(){ 3 //将map集合键和值封装到entry对象中 然后转换成set集合 4 Set<Entry<Integer,Goods>>setGoods=mapGoods.entrySet(); 5 //将set集合转成list集合 6 List<Entry<Integer,Goods>> listGoods=new ArrayList<>(); 7 listGoods.addAll(setGoods); 8 9 //类比较器 根据销量进行排序 10 Collections.sort(listGoods,new Comparator<Entry<Integer,Goods>>() { 11 @Override 12 public int compare(Entry<Integer, Goods> entry1, Entry<Integer, Goods> entry2){ 13 //顺序排列。。。 14 return entry1.getValue().getgHotCount()-entry2.getValue().getgHotCount(); 15 } 16 }); 17 //进行打印 18 System.out.println("编号 商品名称 商品数量 商品销量 商品的价格"); 19 for(Entry<Integer,Goods> entry:listGoods){ 20 System.out.println(entry.getValue()); 21 } 22 }
以上是关于java map 根据 map的value值进行排序的主要内容,如果未能解决你的问题,请参考以下文章
JAVA8中对List<map<String,Object>>根据map某个value值进行排序,还支持中文排序,可以替代order by