`
hupy
  • 浏览: 188869 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java Map排序(按key和按value)

    博客分类:
  • java
阅读更多

1、按照key排序

 

对于java中Map的排序,有排序Map,比如TreeMap,对于这个Map,首先只能按照键排序,其次再put和remove的时候由于需要排序,性能上会有所牺牲。

 

这种方案,使用hashmap进行创建和添加,如果需要按照key排序,则可以将该hashmap作为参数传递到new TreeMap(hashmap),则可以完成按照key的排序

 

TreeMap treemap = new TreeMap(hashmap);
 

2、按照value排序

 

使用hashmap,然后添加比较器,进行排序

 

Map<String, Integer> keyfreqs = new HashMap<String, Integer>();

ArrayList<Entry<String,Integer>> l = new ArrayList<Entry<String,Integer>>(keyfreqs.entrySet());  
		
		Collections.sort(l, new Comparator<Map.Entry<String, Integer>>() {  
			public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {  
				return (o2.getValue() - o1.getValue());  
			}  
		});
		
		for(Entry<String,Integer> e : l) {
			System.out.println(e.getKey() + "::::" + e.getValue());
		}
 

当然比较器按照个人需求写。这只是简单的key是string,然后按照拼音排序,value是int,按照大小排序。。

 

如果大家有什么比较好的map的排序方式,期待讨论。。。

6
0
分享到:
评论
4 楼 上官车月 2013-08-14  
哥们 头像逆天啊
3 楼 Longerandlonger 2013-01-05  
return (o2.getValue() - o1.getValue());

这句不对,应该这样:

Integer v1 = o1.getValue();
Integer v2 = o2.getValue();
return v1.compareTo(v2);
2 楼 my249645546 2013-01-04  
楼主的头像简直要逆天那!!!
1 楼 lh870003574 2012-02-19  
不错,学习了

相关推荐

    对Map的key和value进行排序

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

    对Map按key和value分别排序

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

    Java Map按键排序和按值排序

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

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

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

    Java Map 按值排序

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

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

    本文主要关注如何对Java Map中的键(key)和值(value)进行排序。 1. **Key排序**: - **TreeMap** 是一个基于红黑树数据结构的Map实现,它能自动按key的自然顺序或自定义的Comparator进行排序。默认情况下,...

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

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

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

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

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

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

    对map里面的value进行排序

    而“工具”标签可能意味着博主还介绍了某些可以帮助处理Map排序的第三方库或实用工具。 在1.txt文件中,如果包含的是上述知识点的示例代码或进一步的解释,读者可以通过阅读文件内容来加深理解。总的来说,理解和...

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

    本次我们关注的是Java集合框架中的三类接口:List、Set和Map,以及如何实现它们的特定功能,特别是关于`TreeSet`和`TreeMap`的按值排序。标题中提到的“JCF(List、Set、Map)学习,实现了&lt;key,value&gt;按value排序”是...

    对于java map类排序

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

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

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

    java map 集合 排序

    四、Map排序示例 1. 对于键排序: ```java for (Map.Entry, Integer&gt; entry : list) { System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue()); } ``` 2. 对于值排序: ```java ...

    Java Map 按Key排序实例代码

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

    Java Map 集合类简介

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

    Java中对list map根据map某个key值进行排序的方法

    Java中对List&lt;Map&gt;根据Map某个key值进行排序的方法 ...使用 Java 中的 Collections.sort() 方法和 Comparator 接口可以轻松地对 List 集合进行排序,包括根据 Map 中的某个 key 值对 List 集合进行排序。

    java Map 遍历方法

    `TreeMap`按照键的自然顺序排序,因此在遍历时会自动按顺序输出。 ```java TreeMap, Object&gt; treeMap = new TreeMap(); treeMap.put(1, 1); treeMap.put(2, 2); treeMap.put(3, 3); treeMap.put(4, 4); ...

    java中map的使用实例

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

    JavaMap.rar_arraylist map_collection_java map_javamap_地图 java

    在Java中,"javamap"和"地图_java"可能是指使用Map类来模拟现实世界中的地理地图,例如通过键表示地理位置,值表示该地点的信息。这涉及到自定义类作为键值对中的元素类型,以及如何设计键值对以适应特定需求的问题...

Global site tag (gtag.js) - Google Analytics