`
Getwaysun
  • 浏览: 32093 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

关于HashMap和LinkedHashMap的工作心得

    博客分类:
  • java
 
阅读更多
工作中对于列表的输出最常用到是List,但也有ArrayList处理不了的情况,比如要根据日期对列表进行分类的情况,类似这样的界面:

引用
2011-3-7
标题1
标题2
标题3
2011-3-6
标题1
标题2
2011-3-5
标题1
标题2
标题3
标题4


这个时候不免要用到Map,HashMap和LinkedHashMap都是实现Map接口,区别在于HashMap并不是按插入次序顺序存放的,而LinkedHashMap是顺序存放的,看下面的例子:

  public static void main(String[] args) {
    
    Map<String,String> hashmap = new HashMap<String,String>();
    Map<String,String> linkmap = new LinkedHashMap<String,String>();
    for(int i=0;i<10;i++){
      hashmap.put(""+i, ""+i);
      linkmap.put(""+i, ""+i);
    }
    System.out.println("HashMap遍历输出:");
    for(Entry<String,String> entry:hashmap.entrySet()){
      System.out.print(entry.getKey()+" ");
    }
    System.out.println("");
    System.out.println("LinkedHashMap遍历输出:");
    for(Entry<String,String> entry:linkmap.entrySet()){
      System.out.print(entry.getKey()+" ");
    }
  }


输出结果
引用
HashMap遍历输出:
3 2 1 0 7 6 5 4 9 8
LinkedHashMap遍历输出:
0 1 2 3 4 5 6 7 8 9


在日常的开发中,用到HashMap的情况非常多,LinkedHashMap较为少用,因为我们很少对MAP的顺序有要求。这里做个备注,当对顺序有要求的情况,我们就要用到LinkedHashMap

本文出自 “我的JAVA之路” 博客,请务必保留此出处http://mmqzlj.blog.51cto.com/2092359/550631
分享到:
评论

相关推荐

    java中HashMap,LinkedHashMap,TreeMap,HashTable的区别

    - **性能**:尽管`TreeMap`提供排序功能,但它的时间复杂度通常是O(log n),因此在某些情况下可能比`HashMap`和`LinkedHashMap`慢。 #### 4. HashTable `HashTable`是一种古老的`Map`实现,它的设计是为了确保线程...

    HashMap,HashTable,LinkedHashMap,TreeMap的区别

    其中,HashMap, HashTable, LinkedHashMap, TreeMap 是四种常用的 Map 实现类,每种类都有其特点和用途。本文将对这四种 Map 实现类进行比较和分析。 HashMap HashMap 是 Java 中最常用的 Map 实现类,它根据键的 ...

    hashmap:提供快速的HashMap,LinkedHashMap和高阶函数到任何可迭代的函数,例如Array,Map或Set。 经过测试和基准测试的问题和PR

    HashMap和LinkedHashMap 描述 该项目提供了可在Node.js和浏览器上运行的HashMap和LinkedHashMap类。 它们都是像一样的简化实现 它使用改进的算法生成哈希。 这样可确保在所有铲斗上尽可能广泛地散布。 根据规范,...

    java HashMap,TreeMap与LinkedHashMap的详解

    在Java编程语言中,`HashMap`、`TreeMap`和`LinkedHashMap`都是`java.util.Map`接口的实现,它们提供了不同的数据存储和访问策略。本文将深入探讨这三种数据结构的特点、工作原理以及适用场景。 1. **HashMap** `...

    HashMap和HashTable的区别和不同

    ### HashMap与HashTable的区别详解 #### 引言 在Java编程中,`HashMap`与`HashTable`作为两种常用的数据结构,...- 在大多数现代Java应用程序中,由于`HashMap`提供了更好的性能和灵活性,它成为了首选的数据结构。

    LinkedHashmap的使用

    总的来说,LinkedHashMap结合了HashMap的高效性和有序性的特点,适用于那些对元素顺序有特定需求但又希望保持高效性能的场景。在理解和使用时,需要注意其内部结构和排序方式,以便更好地利用其特性。

    Java集合专题总结:HashMap 和 HashTable 源码学习和面试总结

    Map接口用于保存具有key-value映射关系的数据,常见的Map实现包括HashMap、TreeMap、HashTable和LinkedHashMap等。Queue是Java提供的队列实现。 本文总结了HashMap和HashTable的源码学习和面试总结,涵盖了它们的...

    hashMap和hashTable的区别

    ### hashMap和hashTable的区别 #### 一、简介与基本概念 `HashMap` 和 `HashTable` 都是 Java 集合框架中非常重要的数据结构,它们都实现了 `Map` 接口,用于存储键值对。尽管它们在功能上有很多相似之处,但在...

    HashMap介绍和使用

    ### HashMap介绍和使用详解 #### 一、HashMap的数据结构 HashMap是Java集合框架的一个重要组成部分,它实现了Map接口,能够存储键值对映射。...理解HashMap的工作原理对于优化Java程序的性能具有重要意义。

    Java中HashMap的工作机制

    关于get()方法,它是用来从HashMap中获取与给定键关联的值。当调用get()方法时,同样会先计算key的哈希值,然后根据哈希值找到Entry数组中的对应位置。如果找到了一个Entry,且Entry中的key与给定的key相等,那么...

    HashMap与HashTable和HashSet的区别

    ### HashMap与HashTable和HashSet的区别 #### 一、概述 在Java集合框架中,`HashMap`, `HashTable` 和 `HashSet` 是三个重要的数据结构,它们分别实现了`Map`接口和`Set`接口,提供了不同的功能来满足不同的编程...

    关于hashMap的一些讨论

    ### 关于HashMap的一些讨论 #### 一、HashMap概述 HashMap是一种非常重要的数据结构,在Java编程中扮演着核心角色。它是基于哈希表实现的Map接口的非同步版本,支持所有可选的操作,并允许使用null值和null键。...

    经典讲解List和ArrayList和Vector和HashTable和HashMap区别

    在Java编程语言中,集合框架是处理对象数组的重要工具,其中`List`、`ArrayList`、`Vector`、`HashTable`和`HashMap`是五个关键的接口和类,它们各有不同的特性和用途。以下是这些概念的详细解释: 1. **List接口**...

    HASHMAP排序功能描述

    HashMap的核心特点是其内部通过哈希函数来计算元素的存储位置,这使得查找、插入和删除操作的时间复杂度在平均情况下为O(1)。然而,由于哈希冲突的存在,最坏情况下时间复杂度可能达到O(n)。此外,HashMap不保证元素...

    hashmap面试题_hashmap_

    总结,HashMap是Java编程中的基础工具,掌握其工作原理和常见面试题,不仅能帮助我们应对面试,更能提升在实际开发中的问题解决能力。深入理解HashMap,有助于我们更好地利用数据结构,提高代码的执行效率。

    Hashtable和HashMap区别

    在Java编程语言中,`Hashtable`和`HashMap`是两种非常重要的数据结构,它们都属于`Map`接口的实现类,用于存储键值对数据。尽管两者在功能上相似,但在实际应用中却存在显著差异。 #### 1. 历史与实现基础 `...

    图解hashMap工作原理

    hashMap基本工作原理,图解分析,基础Map集合

    关于如何解决HashMap线程安全问题的介绍

    1. 多线程环境下并发修改:在多线程环境下,如果多个线程同时对HashMap进行读写操作,可能会导致数据的不一致性和数据丢失。例如,当一个线程正在执行put操作时,另一个线程可能同时在进行get或remove操作,这可能...

Global site tag (gtag.js) - Google Analytics