`
Hera
  • 浏览: 8660 次
  • 性别: Icon_minigender_2
  • 来自: 南京
社区版块
存档分类
最新评论
  • liuxuejin: 看了这么多篇,你能简短的把问题说明白。不错!例子简短容易明白。 ...
    CountDownLatch

HashMap按value排序

    博客分类:
  • Java
 
阅读更多

     读取了一段<Key, Value>数据,想当然的把它放进了HashMap里,生产数据的人不乐意了,呀,给你的数据是有顺序的。你显示出来就给乱了。嗯,确实是个问题哈。怎么办?

     (1)最简单的就是使用把hashmap替换成LinkedListHashMap。后者会按你put的顺序放数据的,所以顺序读取就没得问题了。

     (2 ) 数据本来就是无序的,现在就是要排序。把这些所有的entry数据放到一个list里边,按value值排序。具体使用Collections.sort()方法。见代码。

		HashMap<String, String> map = new HashMap<String,String>();
		map.put("sdfs", "3453");
		map.put("543", "34");
		map.put("45", "65");
		map.put("27", "63");
		map.put("23", "64");
		
		ArrayList<Entry<String,String>> l = new ArrayList<Entry<String,String>>(map.entrySet());
		
		Collections.sort(l, new Comparator<Object>(){
            public int compare(Object e1, Object e2){
				int v1 = Integer.parseInt(((Entry<String,String>)e1).getValue().toString());
				int v2 = Integer.parseInt(((Entry)e2).getValue().toString());
				return v1-v2;
				
			}
		});
		
		for (Entry<String, String> e: l){
			System.out.println(e.getKey()+"  "+e.getValue());
		}
	

 

分享到:
评论

相关推荐

    Hashmap 通过对VALUE排序 源代码

    本文将探讨如何通过对VALUE排序HashMap,并分析相关源代码。 HashMap本身并不支持对值的排序,因为它内部使用哈希表实现,主要关注的是键的哈希计算和冲突解决,而不是元素的顺序。如果需要对HashMap的值进行排序,...

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

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

    HASHMAP排序功能描述

    HashMap是Java编程语言中常用的集合类之一,它属于哈希表数据结构,提供key-value的存储方式,并且具有快速查询的特性。然而,HashMap本身并不保证元素的顺序,特别是当涉及到遍历或输出HashMap的内容时,顺序可能会...

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

    3. **TreeMap按Value排序**: - 要让TreeMap按照Value排序,我们需要创建一个新的Comparator,并在构造TreeMap时传入。Comparator接口有一个`compare(T o1, T o2)`方法,我们需重写此方法,使得比较两个Value时能按...

    对Map按key和value分别排序

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

    对map里面的value进行排序

    但是,对于已经创建的HashMap或其他非排序Map,我们不能直接改变它们内部value的排序。 要对Map的value进行排序,通常有两种方法: 1. 使用`Collectors.toMap()`方法 Java 8引入了Stream API,我们可以利用这个...

    java程序-HashMap排序

    先根据value的值从小到大排序,value相同再根据key的字母顺序来排序

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

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

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

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

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

    要实现按value值排序,我们需要借助额外的工具类和方法。在本例中,我们将详细探讨如何在Java中对Map集合按value值进行排序,并给出一个具体的实例代码。 首先,Map接口有多种实现类,如HashMap、TreeMap等。这里...

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

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

    用HashMap写的一个小Demo用来写游戏排名的一种方法

    HashMap的特点在于它的键(key)是唯一的,每个键对应一个值(value)。查找、插入和删除操作的时间复杂度都是O(1),这使得HashMap在处理大量数据时非常高效。但是,HashMap本身并不保证元素的顺序,因此如果需要...

    map实现按value升序排序

    本文将详细介绍如何实现`Map`按照值(value)升序排序以及按照键(key)排序。 首先,我们需要了解`Map`的基本概念。`Map`接口是Java集合框架的一部分,它定义了键值对的存储和访问方法。常见的`Map`实现有`HashMap...

    ArrayList,HashMap

    HashMap不保证元素的顺序,如果需要保持插入顺序或根据特定规则排序,应考虑使用LinkedHashMap。 ArrayList和HashMap的使用场景有所不同。ArrayList适合于需要频繁进行随机访问且元素顺序重要的情况,比如作为数据...

    Java Map 按值排序

    然而,在某些场景下,我们可能需要将Map中的元素按照值(value)进行排序。本文将详细介绍如何在Java中实现Map按值排序的几种方法。 1. 使用TreeMap TreeMap是Java中实现Map接口的一个类,它内部使用红黑树数据结构...

    HashMap与HashTable和HashSet的区别

    与`HashTable`相比,`HashMap`最大的不同之处在于它允许`key`和`value`为`null`。 **特点:** - **线程安全性**:`HashMap`不是线程安全的,如果多个线程同时访问,必须在外部进行同步控制。 - **null的支持**:`...

    hashmap 集合

    HashMap是Java集合框架的一部分,位于`java.util`包下,实现了Map接口,用于存储键值对(key-value pairs)。在深入理解HashMap之前,我们先简单回顾一下Java集合的基本概念。 Java集合框架包括Set、List和Map三个...

    ordered-map:按值排序的HashMap

    `ordered-map`,正如其名,是一个按值排序的HashMap。在传统的HashMap中,元素的位置是不确定的,因为它们的存储基于哈希函数的结果,这通常会导致元素在内存中的随机分布。然而,`ordered-map`提供了一种按特定顺序...

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

    然而,标准的Map实现如HashMap、TreeMap等,并不支持按值排序。如果你需要一个按值排序的Map,需要采取一些额外的策略。这里我们将探讨如何在Java中实现按值排序的Map,特别关注“按值排序”这一需求。 首先,标准...

    电话本管理系统HashMap实现

    Map接口存储键值对(key-value pairs),而HashMap则使用哈希表数据结构来实现,提供平均时间复杂度为O(1)的插入、删除和查找操作。哈希表通过计算对象的哈希码来定位数据,这使得访问速度非常快。 首先,我们需要...

Global site tag (gtag.js) - Google Analytics