精华内容
下载资源
问答
  • 主要介绍了java如何对map进行排序,java map集合的使用详解,大家可以参考使用
  • golang对map排序

    千次阅读 2020-06-12 17:38:03
    golang中map元素是随机无序的,所以在对map range遍历的时候也是随机的,不像php中是按顺序。所以如果想按顺序取map中的值,可以采用以下方式: import ( "fmt" "sort" ) func main() { m := make(map[int]...

    golang中map元素是随机无序的,所以在对map range遍历的时候也是随机的,不像php中是按顺序。所以如果想按顺序取map中的值,可以采用以下方式:

    import (
        "fmt"
        "sort"
    )
    
    func main() {
        m := make(map[int]string)
        m[1] = "a"
        m[2] = "c"
        m[0] = "b"
    	//拿到key
        var keys []int
        for k := range m {
            keys = append(keys, k)
        }
        //对key排序
        sort.Ints(keys)
    	//根据key从m中拿元素,就是按顺序拿了
        for _, k := range keys {
            fmt.Println("Key:", k, "Value:", m[k])
        }
    }
    
    展开全文
  • lambda表达式对map排序

    千次阅读 2019-07-04 20:58:10
    public static <K, V extends Comparable<? super V>... Map<K, V> sortByValue(Map<K, V> map, boolean asc) { Map<K, V> result = new LinkedHashMap<>(); ...
    
    public static <K, V extends Comparable<? super V>> Map<K, V> sortByValue(Map<K, V> map, boolean asc) 
        {
            Map<K, V> result = new LinkedHashMap<>();
            Stream<Entry<K, V>> stream = map.entrySet().stream();    
    		if (asc) //升序
    		{
    			 //stream.sorted(Comparator.comparing(e -> e.getValue()))
    			stream.sorted(Map.Entry.<K, V>comparingByValue())
    				.forEachOrdered(e -> result.put(e.getKey(), e.getValue()));
    		}
    		else //降序
    		{
    			 //stream.sorted(Collections.reverseOrder(Map.Entry.comparingByValue()))
    			stream.sorted(Map.Entry.<K, V>comparingByValue().reversed())
    				.forEachOrdered(e -> result.put(e.getKey(), e.getValue()));
    		}
            return result;
        }
     
    public static <K extends Comparable<? super K>, V > Map<K, V> sortByKey(Map<K, V> map, boolean asc) 
    	{
            Map<K, V> result = new LinkedHashMap<>();
            Stream<Entry<K, V>> stream = map.entrySet().stream();
            if (asc) 
    		{
            	stream.sorted(Map.Entry.<K, V>comparingByKey())
                    .forEachOrdered(e -> result.put(e.getKey(), e.getValue()));
            }
            else 
    		{
            	stream.sorted(Map.Entry.<K, V>comparingByKey().reversed())
                	.forEachOrdered(e -> result.put(e.getKey(), e.getValue()));
    		}
    	    return result;
    	}

    https://blog.csdn.net/x_san3/article/details/84329118

    展开全文
  • java8使用lambda对Map排序

    万次阅读 2017-04-11 15:56:57
    java8以前要对map排序比较繁琐复杂,使用java8的lambda表达式排序要简单很多,直接上代码 public static void main(String[] args) { // 初始数据 Map smap = new HashMap(); smap.put("1", 11); smap.put...

    java8以前要对map排序比较繁琐复杂,使用java8的lambda表达式排序要简单很多,直接上代码

    	public static void main(String[] args) {
    		// 初始数据
    		Map<String, Integer> smap = new HashMap<>();
    		smap.put("1", 11);
    		smap.put("3", 33);
    		smap.put("2", 22);
    		
    		// 1.8以前
    		List<Map.Entry<String, Integer>> list1 = new ArrayList<>();
    		list1.addAll(smap.entrySet());
    		Collections.sort(list1, new Comparator<Map.Entry<String, Integer>>() {
    			@Override
    			public int compare(Entry<String, Integer> o1, Entry<String, Integer> o2) {
    				return o1.getValue() - o2.getValue();
    			}
    		});
    		for (Entry<String, Integer> entry : list1) {
    			System.out.println("key:" + entry.getKey() + ",value:" + entry.getValue());
    		}
    		
    		// 1.8使用lambda表达式
    		List<Map.Entry<String, Integer>> list2 = new ArrayList<>();
    		list2.addAll(smap.entrySet());
    		Collections.sort(list2, (o1, o2) -> o1.getValue()-o2.getValue());
    		list2.forEach(entry -> {
    			System.out.println("key:" + entry.getKey() + ",value:" + entry.getValue());
    		});
    	}




    展开全文
  • Java 8 – 怎样对Map排序

    万次阅读 2017-11-05 11:19:15
    在Java 8 中使用Stream 例子一个 Map 进行按照keys或者values排序. ...将 Map 转换为 Stream其进行排序Collect and return a new LinkedHashMap (保持顺序) Map result = map.entrySet().stream() .

    在Java 8 中使用Stream 例子对一个 Map 进行按照keys或者values排序.

    1. 快速入门

      在java 8中按照此步骤对map进行排序.

    1. 将 Map 转换为 Stream
    2. 对其进行排序
    3. Collect and return a new LinkedHashMap (保持顺序)
    Map result = map.entrySet().stream()
    	.sorted(Map.Entry.comparingByKey())
    	.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue,
    	(oldValue, newValue) -> oldValue, LinkedHashMap::new));

    P.S 默认情况下, Collectors.toMap 将返回一个 HashMap

    2. 按照keys排序

    SortByKeyExample.java
    package com.mkyong.test;
    
    import java.util.HashMap;
    import java.util.LinkedHashMap;
    import java.util.Map;
    import java.util.stream.Collectors;
    
    public class SortByKeyExample {
    
        public static void main(String[] argv) {
    
            Map<String, Integer> unsortMap = new HashMap<>();
            unsortMap.put("z", 10);
            unsortMap.put("b", 5);
            unsortMap.put("a", 6);
            unsortMap.put("c", 20);
            unsortMap.put("d", 1);
            unsortMap.put("e", 7);
            unsortMap.put("y", 8);
            unsortMap.put("n", 99);
            unsortMap.put("g", 50);
            unsortMap.put("m", 2);
            unsortMap.put("f", 9);
    
            System.out.println("Original...");
            System.out.println(unsortMap);
    
            // sort by keys, a,b,c..., and return a new LinkedHashMap
            // toMap() will returns HashMap by default, we need LinkedHashMap to keep the order.
            Map<String, Integer> result = unsortMap.entrySet().stream()
                    .sorted(Map.Entry.comparingByKey())
                    .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue,
                            (oldValue, newValue) -> oldValue, LinkedHashMap::new));
    
    
            // Not Recommend, but it works.
            //Alternative way to sort a Map by keys, and put it into the "result" map
            Map<String, Integer> result2 = new LinkedHashMap<>();
            unsortMap.entrySet().stream()
                    .sorted(Map.Entry.comparingByKey())
                    .forEachOrdered(x -> result2.put(x.getKey(), x.getValue()));
    
            System.out.println("Sorted...");
            System.out.println(result);
            System.out.println(result2);
    
        }
    
    }

    输出

    Original...
    {a=6, b=5, c=20, d=1, e=7, f=9, g=50, y=8, z=10, m=2, n=99}
    
    Sorted...
    {a=6, b=5, c=20, d=1, e=7, f=9, g=50, m=2, n=99, y=8, z=10}
    {a=6, b=5, c=20, d=1, e=7, f=9, g=50, m=2, n=99, y=8, z=10}
    

    3. 按照values排序

    SortByValueExample.java
    package com.mkyong.test;
    
    package com.mkyong;
    
    import java.util.Comparator;
    import java.util.HashMap;
    import java.util.LinkedHashMap;
    import java.util.Map;
    import java.util.stream.Collectors;
    
    public class SortByValueExample {
    
        public static void main(String[] argv) {
    
            Map<String, Integer> unsortMap = new HashMap<>();
            unsortMap.put("z", 10);
            unsortMap.put("b", 5);
            unsortMap.put("a", 6);
            unsortMap.put("c", 20);
            unsortMap.put("d", 1);
            unsortMap.put("e", 7);
            unsortMap.put("y", 8);
            unsortMap.put("n", 99);
            unsortMap.put("g", 50);
            unsortMap.put("m", 2);
            unsortMap.put("f", 9);
    
            System.out.println("Original...");
            System.out.println(unsortMap);
    
            //sort by values, and reserve it, 10,9,8,7,6...
            Map<String, Integer> result = unsortMap.entrySet().stream()
                    .sorted(Map.Entry.comparingByValue(Comparator.reverseOrder()))
                    .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue,
                            (oldValue, newValue) -> oldValue, LinkedHashMap::new));
    
    
            //Alternative way
            Map<String, Integer> result2 = new LinkedHashMap<>();
            unsortMap.entrySet().stream()
                    .sorted(Map.Entry.<String, Integer>comparingByValue().reversed())
                    .forEachOrdered(x -> result2.put(x.getKey(), x.getValue()));
    
            System.out.println("Sorted...");
            System.out.println(result);
            System.out.println(result2);
    
        }
    }

    输出

    Original...
    {a=6, b=5, c=20, d=1, e=7, f=9, g=50, y=8, z=10, m=2, n=99}
    
    Sorted...
    {n=99, g=50, c=20, z=10, f=9, y=8, e=7, a=6, b=5, m=2, d=1}
    {n=99, g=50, c=20, z=10, f=9, y=8, e=7, a=6, b=5, m=2, d=1}
    

    引用:

    1. How to sort a Map in Java
    2. LinkedHashMap JavaDoc
    3. Collectors.toMap() JavaDoc
    4. More Fun with Wildcards
    5. Collections.sort() signature
    6. Difference between and in Java
    展开全文
  • STL容器(三)——对map排序

    万次阅读 多人点赞 2014-12-12 09:18:53
    STL容器(三)——对map排序 对于map的排序问题,主要分为两部分:根据key排序;根据value排序。下面我们就分别说一下~ 1. 根据key进行排序 map默认按照key进行升序排序,和输入的顺序无关。如果是int/double...
  • Java8使用Stream对Map排序

    千次阅读 2017-11-06 11:20:00
    Map, Long> finalMap = new LinkedHashMap(); map.entrySet().stream() .sorted(Map.Entry., Long> comparingByValue().reversed()) .forEachOrdered(e -> finalMap.put(e.getKey(), e.getValue())); System....
  • 对Map的key和value进行排序
  • java中对Map进行排序的方法

    千次阅读 2019-10-05 23:44:09
    java中经常排序,但是自己Map的排序方法一直不是很清楚,特此记录。 Map作为键值的存储...在讲解Map排序之前,我们先来稍微了解下map。map是键值的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable...
  • 如何对map进行排序

    万次阅读 2018-11-22 16:05:40
    Map介绍 常用的Map有HashMap,TreeMap,LinkedHashMap HashMap:最常用的Map,根据key的HashCode值来存储数据,根据key可以直接获取它的Value,具有很快...TreeMap: 根据key排序,默认是按升序排序,也可以指定排序...
  • c++对map进行排序

    千次阅读 2017-12-30 20:43:02
    (25)需要用到价格进行排序,但是排序后要用到价格对应的总售价。因而可以考虑用关联容器进行求解,map是比较合适这题的数据结构。  map是用来存放键值的数据结构,可以很方便快速的根据key查到相应的value...
  • 主要介绍了java实现对map的字典序排序操作,结合实例形式分析了java参照微信官网算法实现的字典序排序操作相关实现技巧,需要的朋友可以参考下
  • Java Map排序详解

    千次阅读 2020-04-25 22:30:16
    java.util.Map是一个键值集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。 HashMap:最常用的Map,它根据key的hashCode值来存储数据,根据key可以直接获取它的Value,同时它具有...
  • 对map集合进行排序的方法

    万次阅读 2019-08-22 21:06:14
    在做统计时需要X轴的月份按照时间的先后... 在讲解Map排序之前,我们先来稍微了解下map。map是键值的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。其中这四者的区别如下(简...
  • NULL 博文链接:https://sakajiaofu.iteye.com/blog/1998474
  • JAVA map排序实现

    万次阅读 2019-06-03 14:19:14
    Map排序的方式有很多种,这里记录下自己总结的两种比较常用的方式:按键排序(sort by key), 按值排序(sort by value)。 1、按键排序 jdk内置的java.util包下的TreeMap<K,V>既可满足此类需求,向其构造...
  • golang map 排序 key value

    千次阅读 2020-07-14 14:57:25
    go语言的map是无序的,多次遍历map的结果可能是不同的 举例如下: package main import ( "fmt" ) // GetMap 得到map func GetMap() (result map[int]uint32) { result = map[int]uint32{} // 压入各个数据 ...
  • C++的map排序

    万次阅读 多人点赞 2019-05-04 19:07:21
    map排序默认按照key从小到大进行排序,但有以下几点需要注意: 1按照key从大到小进行排序。 2key的第1个元素是结构体。 3想按value(第二个元素)排序。 二让map中的元素按照key从大到小排序 1代码 #...
  • Java8 对Map进行排序

    千次阅读 2019-03-14 18:52:53
    随着Java 8的Stream之后推出后可以很优雅实现Map排序。 示例: final Map&lt;String, Integer&gt; wordCounts = new HashMap&lt;&gt;(); wordCounts.put("USA", 100); wordCounts....
  • 使用lambda对map进行排序

    千次阅读 2018-10-29 11:19:06
    最近在学习lambda表达式,记录... Map&lt;String, User&gt; map = new HashMap&lt;&gt;(); map.put("1", new User("zhangsan", 17)); map.put("2", new User(...
  • 前端JS对Map类型数据进行排序

    千次阅读 2020-05-26 15:56:21
    前端JS对Map类型数据进行排序 今天接到一个需求,按照日期数据进行倒序排序,过程中遇到一些问题,记录一下,返回数据类型如下。 var mapList = { 20200312:[ { 'key1':"000", 'key2':"111", },{...
  • 下面小编就为大家带来一篇Android 对Map按key和value分别排序的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 今天小编就为大家分享一篇Java中list map根据map某个key值进行排序的方法,具有很好的参考价值,希望大家有所帮助。一起跟随小编过来看看吧
  • JS Map对象排序

    万次阅读 多人点赞 2019-04-09 23:52:55
    JS 中Map对象会按照元素的写入顺序来保存,有时我们想对Map中的对象进行排序应该怎么做呢?参考别人的回答这里做一个小小的总结; 假如有以下map var map=new Map(); map.set("b","8"); map.set("c","10"); map....
  • 几个一个Map的keys或者values进行排序的java...Java 8 – 怎样对Map排序  1. 按照key排序 1.1 用 java.util.TreeMap, 它将自动根据keysMap进行排序. SortByKeyExample1.java package com.mkyong.tes
  • python Map 排序

    千次阅读 2018-05-03 23:08:23
    python字典按照value进行排序 例子如下: &gt;&gt;&gt; d = {'a':1,'b':4,'c':2} &gt;&gt;&gt; f = zip(d.values(), d.keys() ) &gt;&gt;&gt; f [(1, 'a'), (2, 'c'), (4, ...
  • C++中对map按照value进行排序

    千次阅读 2020-03-21 19:05:03
    实现方法:如果想要对map中的value进行排序,先把map的元素按piar形式插入到vector中,再vecotr进行排序(用一个自定义的比较函数),这样就可以实现对map的value排序了。 以下代码实现了按照map中的value进行排序的...
  • 实现思路:将Map key,value模式转换为List key=value模式,然后利用冒泡排序进行排序 Map<Long, Double> historyBuy = new HashMap<Long, Double>(); // 获得map集合 List<Map.Entry<Long,...
  • Go-sort对map的value进行排序

    千次阅读 2020-04-28 20:20:50
    最近开始并长期开始使用Go进行开发,第一个主研服务中有关于对map的value排序的,我自己通过实现冒泡排序给解决了,但是在value相等时,会出现map key乱序的情况。后来优化key进行排序后这个问题才算真正意义的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 411,683
精华内容 164,673
关键字:

对map排序