`
cakin24
  • 浏览: 1336141 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

LinkedHashMap类-和插入顺序强相关

    博客分类:
  • java
阅读更多

1 LinkedHashMap介绍

  • LinkedHashMap也使用双向链表来维护key-value对的次序,该链表定义了迭代顺序,该迭代顺序与key-value对的插入顺序保持一致。
  • LinkedHashMap可以避免需要对HashMap、Hashtable里的key-value对进行排序(只要插入key-value对时保持顺序即可)。同时又可避免使用TreeMap所增加的成本。

2 代码示例

import java.util.*;

public class LinkedHashMapTest
{
	public static void main(String[] args)
	{
		LinkedHashMap scores = new LinkedHashMap();
		scores.put("语文" , 80);
		scores.put("物理" , 82);
		scores.put("数学" , 76);
		// 调用forEach方法遍历scores里的所有key-value对
		scores.forEach((key, value) -> System.out.println(key + "-->" + value));
	}
}

3 运行结果

语文-->80

物理-->82

数学-->76

4 代码分析

上面最后一行代码使用Java 8为Map新增的forEach()方法来遍历Map集合,并从运行结果可以看到LinkedHashMap可以记住key-value对的添加顺序。 

分享到:
评论

相关推荐

    linked_hash_set-具有插入顺序的HashSet-Rust开发

    linked_hash_set此库基于元素的插入顺序提供了具有可预测迭代顺序的哈希集。 它实现为linked_hash_set。此库基于元素的插入顺序提供了具有可预测迭代顺序的哈希集。 它实现为linked_hash_map :: LinkedHashMap,其中...

    java集合-LinkedHashMap的使用

    LinkedHashMap是Java中的一种特殊类型的HashMap,它保留了插入顺序,即按照元素插入的先后顺序进行排序

    linked-hash-map:维护插入顺序的Javascript HashMap

    Javascript LinkedHashMap 该实用程序可利用Javascript Object的功能作为哈希图,并为您提供插入顺序。 如果您需要通过键随机访问一个值,但又需要知道谁是您的直接邻居,则很有用。 旋转木马。

    今天会是有Offer的一天么:面试时不要再问我LinkedHashMap了

    可以按照元素的插入顺序进行访问,也可以按照元素的访问顺序进行访问。要注意一点的是LinkedHashMap是可以实现LRU缓存策略的,前提是你需要将LinkedHashMap中的accessorder属性设置为true。 因此你基本可以认为...

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

    如果要在迭代时保证插入顺序,请使用LinkedHashMap 。 这些键是真正键入的且唯一的,这意味着1!==“ 1”。 明智地选择您的地图。 选择集合时,值得理解您要解决的问题。 少量条目的本将显着提高速度。 但是,...

    java中set、list和map的使用方法实例

    // java中对象容器主要有Set,List和Map三个接口类。...// LinkedHashMap按插入顺序排序 // TreeMap按自己的意愿进行排序,默认按key值升序排序。 另包含一篇网文:在java中使用TreeMap进行中文排序

    一文搞懂Java的LinkedHashMap.docx

    有一种需求它就满足不了,假如我们需要一个按照插入顺序来排列的键值对集合,那 HashMap 就无能为力了。因为为了提高查找效率,HashMap 在插入的时候对键做了一次哈希算法,这就导致插入的元素是无序的。 final V ...

    LinkedHashMap 核心源码解析

    无序的 HashMap ,按 key 排序的 TreeMap ,那么 LinkedHashMap特点在哪呢 – 维护插入的顺序.LinkedHashMap 也同样出自于 Bloch之手(开发了整个 Java 集合框架的男人). 元素存储关系 红黄箭头:元素添加顺序 蓝...

    linkedhashmap

    持久化 LinkedHashMap Java LinkedHashMap 的 Haskell 实现。 底层 HashMap 基于 Data.HashMap.Strict。... 两种不同的实现基于 Data.Sequence 和 Data.IntMap.Strict 来保持键的插入顺序。 标准报告: :

    javalruleetcode-java12-fundamentals-cache-implementations-workshop:LRU/

    java lru leetcode java12-fundamentals-cache-implementations-...LinkedHashMap有两种迭代顺序:访问顺序或插入顺序 地图+双链表 最不常用 只不过是从缓存中删除最不常用的项目以将新数据放入缓存中 有时与最近最

    java基础案例与开发详解案例源码全

    11.4.2 实现类LinkedHashMap285 11.4.3 实现类TreeMap286 11.4.4 实现类Properties287 11.5 Collections类288 11.6 泛型概述292 11.7 本章习题300 第12章 12.1 理解线程304 12.1.1 什么是多线程304 12.1.2 进程和...

    实现 LRU 算法,和 Caffeine 和 Redis 中的缓存淘汰策略.docx

    通过一个特殊的构造函数,三个参数的这种,最后一个布尔值参数表示是否要维护最近访问顺序,如果是 true 的话会维护最近访问的顺序,如果是 false 的话,只会维护插入顺序。保证维护最近最少使用的顺序。...

    leetcode下载-LruCache:实现LRU算法的Cache类

    leetcode下载 LruCache LruCache是基于Android SDK中的LruCache类参考实现的LRU算法缓存存储类. 原理 之前分析过Lru算法的实现方式:...false:基于插入顺序排序. this.map = new LinkedHashMap(0, 0.75f, true); }

    java jdk实列宝典 光盘源代码

    批处理,介绍如何一次执行一批sql语句,这些sql语句用插入、更新和删除等相关操作; 提交和回滚transaction.java; 使用PreparedStatement,动态执行sql语句,UsingPreparedStatement.java; 读写二进制数据,Binary...

    java核心知识点整理.pdf

    25 3:ServicorTo 和 ServicorFrom 互换................................................................................................................25 2.3.3.1. 2.4.1. 如何确定垃圾 ......................

    JAVA核心知识点整理(有效)

    25 3:ServicorTo 和 ServicorFrom 互换................................................................................................................25 2.3.3.1. 2.4.1. 如何确定垃圾 ......................

Global site tag (gtag.js) - Google Analytics