精华内容
下载资源
问答
  • 主要介绍了java8 stream 操作map根据key或者value排序的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • java8 stream 操作map根据key排序

    千次阅读 2019-05-07 12:53:34
    根据mapkey进行排序(倒序) public <K extends Comparable<? super K>, V > Map<K, V> sortByKey(Map<K,V>map){ Map<K,V> result = new LinkedHashMap<>(); map.entrySet()....

    根据map的key进行排序(倒序)
    public <K extends Comparable<? super K>, V > Map<K, V>
    sortByKey(Map<K,V>map){
    Map<K,V> result = new LinkedHashMap<>();
    map.entrySet().stream().sorted(
    Map.Entry.<K,V>comparingByKey().reversed())
    .forEachOrdered(e -> result.put(e.getKey(),e.getValue()));
    return result;
    }

    根据map的key进行排序(升序)
    public <K extends Comparable<? super K>, V > Map<K, V>
    sortByKey(Map<K,V>map){
    Map<K,V> result = new LinkedHashMap<>();
    map.entrySet().stream().sorted(
    Map.Entry.<K,V>comparingByKey())
    .forEachOrdered(e -> result.put(e.getKey(),e.getValue()));
    return result;
    }

    展开全文
  • java8 map根据key排序根据value排序

    万次阅读 2019-04-24 13:02:18
    1、根据key排序 Map<String,String> result = new HashMap<>(); Map<String,String> map = new HashMap<>(); map.entrySet().stream() .sorted(Map.Entry.comparingByKey()) .fo...

    1、根据key排序

    Map<String,String> result = new HashMap<>();
    
    Map<String,String> map = new HashMap<>();
    
    map.entrySet().stream()
        .sorted(Map.Entry.comparingByKey())
            .forEachOrdered(x->result.put(x.getKey(),x.getValue()));

    2、根据value排序

    Map<String, Integer> valueResult = new HashMap<>();
    Map<String, Integer> map = new HashMap<>();
    map.entrySet().stream()
        .sorted(Map.Entry
            .comparingByValue())
            .forEachOrdered(b->valueResult.put(b.getKey(), b.getValue()));
    		

     

     

     

    展开全文
  • 下面小编就为大家带来一篇Java Mapkey排序和按Value排序的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • Java map根据key排序根据value排序

    千次阅读 2018-09-17 13:34:05
     * 按key排序(sort by value).  *   * @param oriMap 要排序的map集合  * @param isAsc(true:升序,false:降序)  * @return  */  private Map&lt;String, Long&gt; sortMapByKey(Map&lt;...
    /**
         * 按key排序(sort by value).
         * 
         * @param oriMap 要排序的map集合
         * @param isAsc(true:升序,false:降序)
         * @return
         */
        private Map<String, Long> sortMapByKey(Map<String, Long> oriMap, final boolean isAsc) {  
            Map<String, Long> sortedMap = new LinkedHashMap<String, Long>();  
            if (oriMap != null && !oriMap.isEmpty()) {  
                List<Map.Entry<String, Long>> entryList = new ArrayList<Map.Entry<String, Long>>(oriMap.entrySet());  
                Collections.sort(entryList,  
                        new Comparator<Map.Entry<String, Long>>() {  
                            public int compare(Entry<String, Long> entry1,  
                                    Entry<String, Long> entry2) {  
    
                                String key1 = entry1.getKey();
                                String key2 = entry2.getKey();
                                
                                // 判定
                                int rst = 0;
                                if (isAsc) {
                                    rst = key1.compareTo(key2);
                                } else {
                                    rst = key2.compareTo(key1);
                                }
                                return rst;
                            }  
                        });  
                Iterator<Map.Entry<String, Long>> iter = entryList.iterator();  
                Map.Entry<String, Long> tmpEntry = null;
                while (iter.hasNext()) {  
                    tmpEntry = iter.next();  
                    sortedMap.put(tmpEntry.getKey(), tmpEntry.getValue());  
                }  
            }  
            return sortedMap; 
        }
    /**
         * 按值排序(sort by value).
         * 
         * @param oriMap 要排序的map集合
         * @param isAsc(true:升序,false:降序)
         * @return
         */
        private Map<String, Long> sortMapByValueLong(Map<String, Long> oriMap, final boolean isAsc) {  
            Map<String, Long> sortedMap = new LinkedHashMap<String, Long>();  
            if (oriMap != null && !oriMap.isEmpty()) {  
                List<Map.Entry<String, Long>> entryList = new ArrayList<Map.Entry<String, Long>>(oriMap.entrySet());  
                Collections.sort(entryList,  
                        new Comparator<Map.Entry<String, Long>>() {  
                            public int compare(Entry<String, Long> entry1,  
                                    Entry<String, Long> entry2) {  
                                long value1 = 0, value2 = 0;  
                                try {  
                                    value1 = entry1.getValue();
                                    value2 = entry2.getValue();
                                } catch (NumberFormatException e) {  
                                    value1 = 0;  
                                    value2 = 0;  
                                } 
                                // 判定
                                long rst = 0;
                                if (isAsc) {
                                    rst = value1 - value2;
                                } else {
                                    rst = value2 - value1;
                                }
                                return (int)rst;
                            }  
                        });  
                Iterator<Map.Entry<String, Long>> iter = entryList.iterator();  
                Map.Entry<String, Long> tmpEntry = null;
                while (iter.hasNext()) {  
                    tmpEntry = iter.next();  
                    sortedMap.put(tmpEntry.getKey(), tmpEntry.getValue());  
                }  
            }  
            return sortedMap; 
        }
    /**
    	 * 按value排序(sort by value).double类型
    	 * 
    	 * @param oriMap
    	 * @param isAsc
    	 * @return
    	 */
    	private Map<String, Double> sortMapByValueDouble(Map<String, Double> oriMap, final boolean isAsc) {
    		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 q1 = entry1.getValue();
    					double q2 = entry2.getValue();
    					double p = 0.0;
    					if (isAsc) {
    						p = q1 - q2;
    					} else {
    						p = q2 - q1;
    					}
    					if (p > 0.0) {
    						return 1;
    					} else if (p == 0.0) {
    						return 0;
    					} else {
    						return -1;
    					}
    				}
    			});
    			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;
    	}
    展开全文
  • 今天小编就为大家分享一篇Java中对list map根据map某个key值进行排序的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 可以将Map中的对象按照键或值进行升序或降序排列,经测试一切正常,开发者看懂后按照需求对应修改即可!
  • map根据key进行排序

    千次阅读 2018-09-28 16:50:58
    【java】Comparator的用法 ... 这两种其实都差不多,只是匿名内部类的不同写法而已。项目环境jdk7,故没用labmda表达式。 第一种:  public Map&lt;String, Object&gt; getDataQx(List&lt;ReportT...

    【java】Comparator的用法 :具体参考https://blog.csdn.net/u012250875/article/details/55126531/

    这两种其实都差不多,只是匿名内部类的不同写法而已。项目环境jdk7,故没用labmda表达式。

    第一种: 

    public Map<String, Object> getDataQx(List<ReportTableEntity> listTime,List<TSType> listsig) {
    		Map<String, Object> map = new HashMap<String, Object>();// 查询条件
    		Map<String, Object> dateMap = new HashMap<String, Object>();
    		Map<String, Object> dateRootMap = null;
    		Map<String, Object> mapinfo = null;
    		Map<String, Object> resultMap =null ;
    		List<SiteInfoSnapshotEntity> sEntities = new ArrayList<>();
    		for (ReportTableEntity reportTableEntity : listTime) {
    			dateRootMap = new HashMap<String, Object>();// 放数据
    			for (TSType typeEntity : listsig) {
    				map.put("county", typeEntity.getTypename());
    				map.put("dtime", reportTableEntity.getDateof());
    				sEntities = siteInfoSnapshotService.getCounty(map);
    				// 区县对应的数据
    				mapinfo = new HashMap<String, Object>();// 放每个区县的详情
    				mapinfo.put("info", sEntities.get(0));
    				dateRootMap.put(typeEntity.getTypename(), mapinfo);
    
    			}
    			// 日期> 区县 > 数据
    			dateMap.put(reportTableEntity.getDateof(), dateRootMap);
    			// ----------------------------
    			 resultMap = sortMapByKey(dateMap);  //按Key进行排序
    
    		        for (Map.Entry<String, Object> entry : resultMap.entrySet()) {
    		            System.out.println(entry.getKey() + " " + entry.getValue());
    		        }
    			// ----------------------------
    		}
    		return resultMap;
    	}
    public static Map<String, Object> sortMapByKey(Map<String, Object> map) {
    		if (map == null || map.isEmpty()) {
    			return null;
    		}
            //利用匿名内部类,重写compare to 方法
    		
    		Map<String, Object> sortMap = new TreeMap<String, Object>(new MapKeyComparator());
    
    		sortMap.putAll(map);
    
    		return sortMap;
    	}
    public class MapKeyComparator implements Comparator<String> {
    	
    
    	    @Override
    	    public int compare(String str1, String str2) {
    
    	        return str2.compareTo(str1);
    	    }
    	}

     

    第二种:

    public static Map<String, Object> sortMapByKey(Map<String, Object> map) {
    		if (map == null || map.isEmpty()) {
    			return null;
    		}
    		
    		Map<String, Object> sortMap = new TreeMap<String, Object>(new Comparator<String>() {
    
    			@Override
    			public int compare(String o1,String o2) {
    				
    				return ((String)o1).compareTo((String) o2);
    			}
    		});
    
    		sortMap.putAll(map);
    
    		return sortMap;
    	}

     

    展开全文
  • Mapkey和value进行排序
  • map stream流根据key排序

    千次阅读 2020-08-16 12:49:52
    import java.util.Map; /** * @program: map排序工具类 * @description: * @author: zhang.wenlong * @create: 2020/7/13 ...public class ... * @Description: 根据mapkey排序 * @Author wenlong..
  • lambda表达式 根据mapkey 进行排序

    千次阅读 2020-09-28 18:14:58
    Map<String,String> resultMap = new LinkedHashMap<>(); map.entrySet().stream().sorted(Map.Entry.comparingByKey())....comparingByKey():根据key排序. comparingByValue():根据value排序 ...
  • Mapkey排序

    千次阅读 2019-02-27 17:57:28
    //将返回的数据按key进行排序 Map&lt;String, Map&lt;String, String&gt;&gt; result = new HashMap&lt;&gt;(); // 一系列添加数据操作 // 设置排序为倒序排序,不加Comparator默认是...
  • 引言最近小编自己一个人在负责一个项目的后台开发,其中有一部分是统计相关的功能,所以需要一些排序或者分组的操作,之前这种操作小编觉得还是比较...1、map 根据value排序Map&lt;String,BigDecimal&gt; m...
  • Map排序,按key排序,按value排序。

    千次阅读 2018-12-26 15:32:21
    1、按照key排序: 利用TreeMap,TreeMap中的数据是根据key值对象中的对比方法(comparaTo)的运行结果进行存储,所以可以直接利用TreeMap将Map中的key进行排序。 2、按照value排序: 将待排序Map中的所有元素置于...
  • Map按照key进行排序

    万次阅读 2018-08-15 13:58:32
    声明比较器: class MapKeyComparator implements Comparator&lt;Integer&gt; { @Override public int compare(Integer o1, Integer o2) { ...public static Map&lt;Integer, List&lt;U...
  • 主要介绍了Java MapKey排序实例代码的相关资料,需要的朋友可以参考下
  • java8新特性:对map集合排序根据key或者value操作排序(升序、降序) 直接上代码: package com.drew.test; import java.util.List; import java.util.Map; import com.google.common.collect.ImmutableMap...
  • 但是,无论实际中使用哪种实现,我们在编程过程中常常会遇到诸如根据Key或Value对Map进行排序、保持Map插入顺序等问题,本文特别针对以上几个问题给出了具体解法,并分享华为一道与我们主题极为相关的笔试题。
  • 第一次写这个有点小激动,hhhhha,最近开发遇到这个需求; 原本是想这样写①,但是不行诶; 随后这样写②,好像可行,但是代码...Map<String, Object>> sortList = list1.stream() .sorted(Comparator.com...
  • golang ----mapkey排序

    千次阅读 2018-11-26 19:53:00
    思路:对key排序,再遍历key输出value 代码如下:既可以从小到大排序,也可以从大到小排序 package main import ( "fmt" "sort" ) func main() { // To create a map as input m := make...
  • ... import java.util.Map; /** * jdk 8 排序工具类 * @author wangsong * @mail 1720696548@qq.com * @date 2020/9/14 0014 14:19 * @version 1.0.0 */ public class Java8MapSort { /**
  • )中,根据map的某个某个key值进行排序 示例:按年龄排序,升序。代码如下: import java.util.*; public class ListMapSort { public static void main(String[] args) { List<Map<String, Object>> ...
  • JS Map按照key进行排序

    千次阅读 2019-10-13 15:32:05
    var sortMap = function(map, isKeyUpSort) { let keys = new Array() for (var key of map.keys()) { keys.push(key) } if (isKeyUpSort) { keys.sort(function(key1, key2) { return key1...
  • Java MapKey值进行排序

    万次阅读 2018-01-05 14:18:09
    package com.cute.test; import java.util.Comparator; import java.util.Map; import java.util.TreeMap; public class SortMapTest { public static void main(String[] args) { Map tmap = new TreeMap();
  • list map 根据map的某个key值进行排序

    千次阅读 2018-12-24 10:48:52
    list map (List&...)中,根据map的某个某个key值进行排序 import java.util.*; public class ListMapSort { public static void main(String[] args) { List&lt;Map&lt;String, Objec...
  • package test;import java.util.ArrayList;import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map;public class java_ListMapSort {
  • C++ map按照key或者value排序小结

    千次阅读 2019-03-18 10:32:54
    如果希望改变mapKEY排序规则,可以用到以下两种方法: #include <iostream> #include <string> #include <map> using namespace std; typedef pair<string, double> PA...
  • Java Map中数据按照key进行排序

    万次阅读 2019-02-19 19:09:29
    static String mapSortedByKey(Map&lt;String, String&gt; param) { StringBuilder stringBuilder = new StringBuilder(); ArrayList&lt;String&gt; keyList = new ArrayList&lt;&gt;...
  • java对Map进行排序根据key和value)

    千次阅读 2018-09-20 09:46:26
    根据key排序 java.util包下的TreeMap可以满足此类需求,直接调用TreeMap的构造函数传入我们自己定义的比较器即可 public static Map&lt;String, String&gt; sortMapByKey(Map&lt;String, String&gt...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 221,784
精华内容 88,713
关键字:

map根据key排序