`

Java之Map(按value排序)

    博客分类:
  • Java
阅读更多
参考资料
1 java Map排序(按key和按value)
http://hupy.iteye.com/blog/871085
2 針對java.util.Map的Value做排序
http://www.360doc.com/content/08/0818/21/59141_1554099.shtml
3 java Map 按value排序
http://hi.baidu.com/anglee2010/blog/item/54796c0ff342ecea37d12260.html
4 Map 按值排序 (Map sort by value) - Java
http://han.guokai.blog.163.com/blog/static/136718271201001010228136/
实际要求,按Map中的value排序,value类型为List
/** 
     * @param h 
     * @return 
     * 实现对map按照value升序排序 
     */  
    @SuppressWarnings("unchecked")  
    public static ArrayList getSortedHashtableByValue(Map h) {        
        ArrayList<Map.Entry<String,List>> l = new ArrayList<Map.Entry<String,List>>(h.entrySet());  
        Collections.sort(l, new Comparator<Map.Entry<String, List>>() {    
            public int compare(Map.Entry<String, List> o1, Map.Entry<String, List> o2) {    
                return (o2.getValue().size() - o1.getValue().size());    
            }    
        });     
        return l;  
    }  


测试代码
Map<String,Object> maps = new java.util.TreeMap<String, Object>();		
		List list = new ArrayList();
		list.add("a");
		list.add("b");
		list.add("d");
		list.add("d");		
		maps.put("1",list);		
		
		list = new ArrayList();
		list.add("a");
		list.add("b");			
		maps.put("2",list);		
		
		list = new ArrayList();
		list.add("a");
		list.add("b");	
		list.add("a");
		list.add("b");
		list.add("a");
		list.add("b");
		maps.put("3",list);		
		
		list = new ArrayList();
		list.add("a");
		list.add("b");	
		list.add("a");
		list.add("b");
		list.add("a");
		list.add("b");
		list.add("a");
		list.add("b");
		maps.put("4",list);		
		
		ArrayList<Map.Entry<String,List>> entitys = getSortedHashtableByValue(maps);
		 
		 for(Map.Entry<String,List> entity : entitys){
			 System.out.println(entity.getKey() + " = " + entity.getValue().size());
		 }	
分享到:
评论

相关推荐

    对Map的key和value进行排序

    对Map的key和value进行排序是Java编程中非常重要的一部分。Map是Java集合框架中的一种数据结构,用于存储键值对。然而,在实际应用中,我们经常需要对Map中的key或value进行排序,以满足特定的业务需求。 对Map中的...

    Java Map 按照Value排序的实现方法

    以下是关于Java Map按照Value排序的实现方法的详细说明: 1. **HashMap**: - HashMap是基于哈希表实现的,它不保证元素的顺序,插入顺序和遍历顺序可能不同,而且不支持排序。 2. **TreeMap**: - TreeMap基于...

    Java Map按键排序和按值排序

    Java Map按键排序和按值排序是Java编程语言中常用的数据结构之一。Map是一种键值对的集合,它可以按照键或值进行排序。下面,我们将详细地介绍Java Map的按键排序和按值排序。 按键排序(sort by key) Java中的...

    对Map按key和value分别排序

    "对 Map 按 key 和 value 分别排序" 摘要:本文主要介绍了 Map 按 key 和 value 分别排序的方法,包括使用 TreeMap 的 key 排序和 value 排序两种方式。 Map 按 key 排序 Map 是键值对的集合接口,它的实现类主要...

    浅谈Java之Map 按值排序 (Map sort by value)

    这里我们将探讨如何在Java中实现按值排序的Map,特别关注“按值排序”这一需求。 首先,标准的SortedMap接口是根据键(key)进行排序的,例如TreeMap就是一种按键升序排序的实现。因此,如果想按值排序,我们需要...

    Java Map 按值排序

    本文将详细介绍如何在Java中实现Map按值排序的几种方法。 1. 使用TreeMap TreeMap是Java中实现Map接口的一个类,它内部使用红黑树数据结构,可以按照键或值自然排序。如果我们要根据值排序,可以在创建TreeMap时...

    java8 stream 操作map根据key或者value排序的实现

    Java8 Stream 操作 Map 根据 Key 或 Value 排序的实现 Java8 中的 Stream 操作为开发者提供了简洁高效的数据处理方式,今天我们将介绍如何使用 Java8 Stream 操作 Map 根据 Key 或 Value 排序的实现。 Map 根据 ...

    对map里面的value进行排序

    然而,有时我们需要对Map中的值进行排序,例如按照value的大小进行升序或降序排列。这篇博客"对map里面的value进行排序"探讨的就是如何实现这一需求。 首先,我们了解Map接口的基本概念。Map接口不直接支持排序,...

    JCF(List、Set、Map)学习,实现了<key,value>按value排序噢

    标题中提到的“JCF(List、Set、Map)学习,实现了,value&gt;按value排序”是一个关键点,我们将深入探讨这个话题。 首先,让我们了解List、Set和Map的区别。List是有序的集合,允许重复元素,并且可以保持插入顺序;Set...

    Java Map 按key排序和按Value排序的实现方法

    一种常见做法是先将Map的entrySet转换为List,然后使用`Collections.sort()`方法,传入一个Comparator来按value排序。 - 下面的示例展示了如何实现value排序: ```java List&lt;Map.Entry, String&gt;&gt; list = new ...

    java的Map集合中按value值进行排序输出的实例代码

    在本例中,我们将详细探讨如何在Java中对Map集合按value值进行排序,并给出一个具体的实例代码。 首先,Map接口有多种实现类,如HashMap、TreeMap等。这里我们以HashMap为例,因为它是Java中最常用的Map实现,但它...

    Hashmap 通过对VALUE排序 源代码

    HashMap是Java编程语言中最常用的集合类之一,它提供了一种基于键值对(key-value pair)的数据存储方式,允许我们通过键快速查找对应的值。在Java的HashMap中,元素是无序的,也就是说,它们在内存中的存储位置并...

    Android 对Map按key和value分别排序的实例

    当需要对Map中的数据进行排序时,通常有两种情况:按key排序和按value排序。本文将详细介绍如何在Android环境下对Map进行这两种排序。 首先,我们来讨论按key排序。TreeMap是一个基于红黑树实现的Map,它可以根据...

    对于java map类排序

    然而,有时候我们可能需要对Map按照键(key)或者值(value)进行排序。这里,我们讨论的是“对于Java Map类排序”,特别是通过键进行排序。 在给定的代码中,有一个名为`mapSortByKey`的方法,该方法接收一个未...

    java map 集合 排序

    本文将深入探讨Java Map集合的排序方法。 一、TreeMap:自动排序 1. **TreeMap** 是一个基于红黑树实现的Map,它会自动根据键的自然顺序或自定义比较器进行排序。例如: ```java import java.util.TreeMap; ...

    java中对单层json进行key字母排序

    在Java编程中,处理JSON数据是一项常见的任务。JSON(JavaScript Object ...总之,通过上述`getSortJson`方法,我们可以轻松地将Java中的单层JSONObject按key字母顺序排序,从而满足特定的业务需求或提高数据的可读性。

    java中map的使用实例

    在Java编程语言中,Map接口是集合框架的重要组成部分,它提供了键值对(key-value pairs)的存储方式。Map不是列表或数组,而是允许我们通过一个键(key)来查找对应的值(value)。本篇文章将深入讲解Map的使用实例...

    Java Map 按Key排序实例代码

    本篇文章将深入讲解如何在Java中实现Map按Key排序,并通过一个具体的实例代码进行演示。 首先,我们要了解Java中支持按Key排序的Map实现类:TreeMap。TreeMap内部基于红黑树数据结构,能够保证Map的Key按照自然顺序...

    Java中Map数据处理公共方法MapUtils

    Map是Java中最天才的设计,使用起来也很灵活,该类总结了Map通过key和value进行升序和降序排序,Map的两种遍历的公共方法以及上面功能的测试方法

    Java Map 集合类简介

    【Java Map 集合类简介】 在Java的`java.util`包中,集合类扮演着重要的角色,其中List和Map是最为常见的两种。List的实现例如ArrayList和Vector,它们都是可变大小的列表,适合存储和操作各种类型对象的序列。特别...

Global site tag (gtag.js) - Google Analytics