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

Java HashMap的两种排序方式

    博客分类:
  • Java
 
阅读更多

 

Map<String, Integer> map = new HashMap<String, Integer>();
map.put("d", 2);
map.put("c", 1);
map.put("b", 1);
map.put("a", 3);

List<Map.Entry<String, Integer>> infoIds =
    new ArrayList<Map.Entry<String, Integer>>(map.entrySet());

//排序前
for (int i = 0; i < infoIds.size(); i++) {
    String id = infoIds.get(i).toString();
    System.out.println(id);
}
//d 2
//c 1
//b 1
//a 3

//排序
Collections.sort(infoIds, new Comparator<Map.Entry<String, Integer>>() {   
    public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {      
        //return (o2.getValue() - o1.getValue()); 
        return (o1.getKey()).toString().compareTo(o2.getKey());
    }
}); 

//排序后
for (int i = 0; i < infoIds.size(); i++) {
    String id = infoIds.get(i).toString();
    System.out.println(id);
}
//根据key排序
//a 3
//b 1
//c 1
//d 2
//根据value排序
//a 3
//d 2
//b 1
//c 1
 
0
0
分享到:
评论

相关推荐

    Java HashMap两种简便排序方法解析

    Java HashMap两种简便排序方法解析 Java HashMap是一种常用的数据结构,然而,它的储存是没有顺序的,按照key的HashCode实现。这使得在 certainsituations下的排序变得非常重要。下面,我们将介绍两种简便的排序...

    HashMap排序

    这里展示了两种不同的实现方式: - 使用`TreeMap`:创建一个`TreeMap`对象并传入`ByValueComparator`作为构造函数参数,然后将`HashMap`的所有键值对放入`TreeMap`中。 - 使用`Collections.sort()`:创建一个包含...

    HASHMAP排序功能描述

    有两种主要方法可以对HashMap进行排序: - **使用LinkedHashMap** LinkedHashMap是HashMap的一个子类,它维护了元素的插入顺序或者访问顺序。如果想要按照插入顺序排序,直接使用LinkedHashMap即可。如果需要按照...

    java实现的map排序

    Java中实现Map排序的方式主要有两种,一种是使用TreeMap,另一种是使用SortedMap接口。HashMap内部元素是无序的,它不会记录插入顺序,也不保证顺序。如果需要有序的Map,可以使用TreeMap,它会根据键的自然顺序进行...

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

    在实际应用中,选择哪种排序方法取决于具体需求。如果需要频繁根据Value排序,使用TreeMap配合自定义Comparator可能是最佳选择。如果只是偶尔排序,转换为List并使用Collections.sort()也足够。务必注意,排序操作会...

    java 中 TreeMap排序

    在提供的代码片段中,我们看到了两种自定义排序的例子: a) 对于简单的排序,如数字和英文字母,我们可以创建一个新的`Comparator`,重写`compare()`方法。在这个例子中,比较两个对象(假设它们都是`String`类型...

    Java集合排序及java集合类详解.pdf

    ### Java集合排序及Java集合类详解 #### 一、集合框架概述 集合框架是Java编程语言的核心组件之一,用于组织和操作数据集。Java集合框架提供了多种数据结构,包括列表(List)、集(Set)和映射(Map),这些数据结构...

    ArrayList,HashMap

    ArrayList和HashMap是Java编程语言中两种非常重要的集合类,它们都是Java集合框架(Collections Framework)的一部分,用于存储和管理对象。ArrayList属于List接口的实现,而HashMap则实现了Map接口。两者在用途、...

    Android中实现HashMap排序的方法

    如果需要对HashMap进行排序,通常有两种方式:一种是转换为LinkedHashMap,另一种是通过创建一个Entry集合并对其进行排序。 1. 转换为LinkedHashMap: LinkedHashMap是HashMap的一个子类,它保留了插入顺序,或者...

    java对象容器(涉及HashMap,ArrayList,Set等)

    Java对象容器是Java编程中不可或缺的部分,它们提供了一种存储和管理对象的方式,使得我们可以高效地组织和操作数据。在Java中,最常见的对象容器包括ArrayList、List、Set和HashMap等。这些容器各自具有不同的特性...

    Java集合排序及java集合类详解

    Java集合框架中的排序通常涉及到两种情况: 1. 对于实现了`Comparable`接口的元素,如Integer、String等,可以直接使用`Collections.sort()`方法对List进行排序。 2. 对于不满足自然排序的元素,可以通过自定义`...

    Java用Comparator来排序.pdf

    除了排序,Java 8还引入了一种新的函数式编程接口`Predicate&lt;T&gt;`,用于测试对象是否满足某种条件。例如,我们可以创建一个Predicate来过滤出红色的Apple: ```java public interface Predicate&lt;T&gt;{ boolean test...

    Java中HashMap和TreeMap的区别深入理解

    HashMap和TreeMap是Java中两种常用的Map实现,它们各自具有不同的特性和使用场景。 HashMap是基于哈希表实现的,其核心思想是通过键对象的hashCode()方法来快速定位到对应的桶(bucket),从而提高查找效率。...

    hashmap.zip

    在Java编程语言中,HashMap是一种常用的集合类,它实现了Map接口,用于存储键值对(key-value pairs)。HashMap的工作基于哈希表数据结构,提供快速的插入、删除和查找操作。下面我们将深入探讨HashMap的实现原理,...

    各种经典算法+Java和C语言的两种实现

    本资料包聚焦于经典的算法,并提供了两种实现方式:Java和C语言。这两种语言在编程界都有广泛的使用,Java以其面向对象的特性而闻名,C语言则以其高效和对底层硬件的直接控制而受到青睐。 1. **算法基础知识**: -...

Global site tag (gtag.js) - Google Analytics