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("编号\t商品名称\t商品数量\t商品销量\t商品的价格");
19         for(Entry<Integer,Goods> entry:listGoods){
20             System.out.println(entry.getValue());
21         }
22     }

原文地址:https://www.cnblogs.com/zhf123/p/11665858.html

时间: 2024-07-30 19:17:37

java map 根据 map的value值进行排序的相关文章

js 定义像java一样的map方便取值

js 定义像java一样的map方便取值. 百度有位大神说"js对象本身就是一种Map结构",这真是一段让人欢天喜地的代码. <script> //定义一个全局map var map = {}; var key0 = '0'; var key1 = '1'; map[key0] = '0-真实报文'; map[key1] = '1-虚拟报文'; //row 获取这行的值 ,index 获取索引值 function testJsMap(key){ //如果遍历map for(

Java基础知识强化之集合框架笔记53:Map集合之Map集合的遍历 键值对对象找键和值

1. Map集合的遍历(键值对对象找键和值) Map -- 夫妻对  思路:  A: 获取所有结婚证的集合  B: 遍历结婚证的集合,得到每一个结婚证  C: 根据结婚证获取丈夫和妻子 转换:  A: 获取所有键值对对象的集合  B: 遍历键值对对象的集合,得到每一个键值对对象  C: 根据键值对对象获取键和值 2. 代码示例: 1 package cn.itcast_01; 2 3 import java.util.HashMap; 4 import java.util.Map; 5 impo

Java Map按键(Key)排序和按值(Value)排序

Map排序的方式有很多种,两种比较常用的方式:按键排序(sort by key), 按值排序(sort by value).1.按键排序jdk内置的java.util包下的TreeMap<K,V>既可满足此类需求,向其构造方法 TreeMap(Comparator<? super K> comparator)  传入我们自定义的比较器即可实现按键排序. Java代码   public class MapSortDemo { public static void main(Strin

java中一个Map要找到值Value最小的那个元素的方法

import java.util.Arrays; import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.Set; public class MinMapDemo {     public static void main(String[] args) {         Map<Integer, Integer> map = new HashMap<Int

java按照Map值进行排序输出

package com.huawei.test; 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.Set; public class

java统计List中的元素重复出现的次数和对map按key或键值排序

package cn.php; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.HashSet; import java.util.LinkedHashMap; import java.util.List; import java.uti

Map&lt;Key,Value&gt;基于Value值排序

Map<Key,Value> 排序默认是按照KEY值的升序来进行. 针对按照Value来进行排序有两种方法: 第一种 使用TreeMap  代码如下 public class test{ public static void main(String[] args) { HashMap<String, Double> map = new HashMap<String, Double>(); valueComparator vComparator = new valueCo

Java集合中Map接口的使用方法

Map接口 Map提供了一种映射关系,其中的元素是以键值对(key-value)的形式存储的,能够实现根据key快速查找value: Map中的键值对以Entry类型的对象实例形式存在: 建(key值)不可重复,value值可以重复,一个value值可以和很多key值形成对应关系,每个建最多只能映射到一个值. Map支持泛型,形式如:Map<K,V> Map中使用put(K key,V value)方法添加 HashMap类 HashMap是Map的一个重要实现类,也是最常用的,基于哈希表实现

java Map及Map.Entry详解

Map是java中的接口,Map.Entry是Map的一个内部接口. Map提供了一些常用方法,如keySet().entrySet()等方法. keySet()方法返回值是Map中key值的集合:entrySet()的返回值也是返回一个Set集合,此集合的类型为Map.Entry. Map.Entry是Map声明的一个内部接口,此接口为泛型,定义为Entry<K,V>.它表示Map中的一个实体(一个key-value对).接口中有getKey(),getValue方法. 由以上可以得出,遍历

[Java] 多个Map的性能比较(TreeMap、HashMap、ConcurrentSkipListMap)

比较Java原生的 3种Map的效率. 1.  TreeMap 2.  HashMap 3.  ConcurrentSkipListMap 结果: 模拟150W以内海量数据的插入和查找,通过增加和查找两方面的性能测试,结果如下: Map类型 插入 查找(在100W数据量中)   10W 50W 100W 150W 0-1W 0-25W 0-50W Concurrent SkipListMap 62 ms 227 ms 433 ms 689ms 7 ms 80 ms 119 ms HashMap