LinkedHashMap的用法

1:LinkedHashMap的简介

Map 接口的哈希表和链接列表实现,具有可预知的迭代顺序。此实现与 HashMap 的不同之处在于,后者维护着一个运行于所有条目的双重链接列表。此链接列表定义了迭代顺序,该迭代顺序通常就是将键插入到映射中的顺序(插入顺序)。注意,如果在映射中重新插入 键,则插入顺序不受影响。(如果在调用 m.put(k, v) 前 m.containsKey(k) 返回了 true,则调用时会将键 k 重新插入到映射 m 中。)

import java.util.LinkedHashMap;
import java.util.Map;

import org.junit.Test;

public class MapTest {
    @Test
    public void testName() throws Exception {
        Map<String, String> map = new LinkedHashMap<String, String>();
        map.put("4", "zhangsan");
        map.put("3", "lisi");
        map.put("2", "wangwu");
        map.put("1", "heiliu");
        //对map进行遍历
        for(Map.Entry<String, String> mapList:map.entrySet()){
            System.out.println(mapList.getKey()+":"+mapList.getValue());
        }
    }
}
时间: 2024-10-13 06:48:30

LinkedHashMap的用法的相关文章

计算机程序的思维逻辑 (49) - 剖析LinkedHashMap

之前我们介绍了Map接口的两个实现类HashMap和TreeMap,本节来介绍另一个实现类LinkedHashMap.它是HashMap的子类,但可以保持元素按插入或访问有序,这与TreeMap按键排序不同. 按插入有序容易理解,按访问有序是什么意思呢?这两个有序有什么用呢?内部是怎么实现的呢?本节就来探讨这些问题.从用法开始. 用法 基本概念 LinkedHashMap是HashMap的子类,但内部还有一个双向链表维护键值对的顺序,每个键值对既位于哈希表中,也位于这个双向链表中. Linked

JDK1.8源码分析之LinkedHashMap(二)

一.前言 前面我们已经分析了HashMap的源码,已经知道了HashMap可以用在哪种场合,如果这样一种情形,我们需要按照元素插入的顺序来访问元素,此时,LinkedHashMap就派上用场了,它保存着元素插入的顺序,并且可以按照我们插入的顺序进行访问. 二.LinkedHashMap用法 import java.util.Map; import java.util.LinkedHashMap; public class Test { public static void main(String

Java修炼之道--集合框架

原作地址:https://github.com/frank-lam/2019_campus_apply 前言 Java集合框架 (Java Collections Framework, JCF) 也称容器,这里可以类比 C++ 中的 STL,在市面上似乎还没能找到一本详细介绍的书籍.在这里主要对如下部分进行源码分析,及在面试中常见的问题. 例如,在阿里面试常问到的 HashMap 和 ConcurrentHashMap 原理等等.深入源码分析是面试中必备的技能,通过本文的阅读会对集合框架有更深一

LinkdeHashMap集合源码

一.前言 前面我们已经分析了HashMap的源码,已经知道了HashMap可以用在哪种场合,如果这样一种情形,我们需要按照元素插入的顺序来访问元素,此时,LinkedHashMap就派上用场了,它保存着元素插入的顺序,并且可以按照我们插入的顺序进行访问. 二.LinkedHashMap用法 import java.util.Map; import java.util.LinkedHashMap; public class Test { public static void main(String

LinkedHashMap 用法

public LinkedHashMap (int initialCapacity, float loadFactor, boolean accessOrder): initialCapacity   初始容量 loadFactor    加载因子,一般是 0.75f accessOrder   false 基于插入顺序  true  基于访问顺序(get一个元素后,这个元素被加到最后,使用了LRU  最近最少被使用的调度算法) boolean accessOrder = true; Map<S

Jedis基本用法

Redis(Remote Dictionary Server,远程数据字典服务器)是一个开源的高性能内存数据库,常用作缓存缓存服务器使用,也已做消息队列使用.因其高性能.丰富的数据类型.可扩展等特性受开发者青睐,这里介绍在java中使用Jedis操作Redis的基本用法. 1. 字符串String. package com.zws.redis; import java.util.concurrent.TimeUnit; import redis.clients.jedis.Jedis; publ

Java操作Redis之Jedis用法详解

Redis(Remote Dictionary Server,远程数据字典服务器)是一个开源的高性能内存数据库,常用作缓存缓存服务器使用,也已做消息队列使用.因其高性能.丰富的数据类型.可扩展等特性受开发者青睐,这里介绍在java中使用Jedis操作Redis的基本用法. 1. 字符串String. package com.zws.redis.examples; import java.util.concurrent.TimeUnit; import redis.clients.jedis.Je

ArrayList、LinkedList、 Vector、Map 用法比较

ArrayList和Vector是采用数组方式存储数据,此数组元素总数大于实际存储的数据个数以便增加和插入元素,二者都允许直接序号索引元素,但是插入数据要移动数组元素等内存操作,所以它们索引数据快.插入数据慢. ArrayList数组存储方式: [java] view plaincopyprint? private transient Object[] elementData; public ArrayList(int initialCapacity) { super(); if (initia

day18 Map 的用法

Map接口概述 * 将键映射到值的对象 * 一个映射不能包含重复的键 * 每个键最多只能映射到一个值Map接口和Collection接口的不同 * Map是双列的,Collection是单列的 * Map的键唯一,Collection的子体系Set是唯一的 * Map集合的数据结构值针对键有效,跟值无关;Collection集合的数据结构是针对元素有效 Map集合的功能概述 * a:添加功能 * V put(K key,V value):添加元素. * 如果键是第一次存储,就直接存储元素,返回n