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

LinkedHashMap的简单用法

阅读更多

今天遇到了LinkedHashMap,觉得有必要记录一下它的特点

 

1.为啥使用LinkedHashMap?

 

用普通的键值对映射时(如HashMap),遍历时,顺序是乱的,为了让键值对进出按一定的顺序,所以用LindedHashMap

 

2.它的特点是啥?

 

它的特点就是为啥要用它。它的特点是有序的键值对

 

package test;

import java.util.Collection;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;

public class LinkedHashMapTest {
	
	public static final Map<String, String> hashMap;
	public static final Map<String, String> linkedMap;
	
	
	static{
		
		hashMap = new HashMap<String, String>();
		hashMap.put("key1", "value1");
		hashMap.put("key2", "value2");
		hashMap.put("key3", "value3");
		
		linkedMap = new LinkedHashMap<String, String>();
		linkedMap.put("key1", "value1");
		linkedMap.put("key2", "value2");
		linkedMap.put("key3", "value3");
	}
	
	public static void main(String[] args) {
		Collection<String> hashColl = hashMap.values();
		Collection<String> linkColl = linkedMap.values();
		
		System.out.println("*************HashMap输出************");
		for (String str : hashColl) {
			System.out.println(str);
		}
		System.out.println("*************HashMap结束************\n");
		System.out.println("*************linkedMap输出************");
		for (String str : linkColl) {
			System.out.println(str);
		}
		System.out.println("*************linkedMap结束************");
	}

}

 输出结果:

*************HashMap输出************
value3
value2
value1
*************HashMap结束************

*************linkedMap输出************
value1
value2
value3
*************linkedMap结束************  

 

分享到:
评论

相关推荐

    set:使用LinkedHashMap在Go(Golang)中简单的Set数据结构实现

    Set是使用LinkedHashMap在Go(Golang)中简单的Set数据结构实现。 该库允许您获取一组int64或string而没有重复的项目。 用法 package main import ( "fmt" "github.com/StudioSol/set" ) func main () { ...

    HashMap遍历

    这种方法简单直观,易于理解。以下是一个典型的使用`keySet()`遍历`HashMap`的例子: ```java Map, String&gt; map = new HashMap(); for (int i = 0; i ; i++) { map.put("key" + i, "value" + i); } Iterator...

    SimpleCacheWithSpringAop:基于SpringAOP,LinkedHashMap和Annotation的简单的Cache插件

    SimpleCacheWithSpringAop##SrpingAop需要配合Spring Aop使用,功能还比较单一,只是在获取数据的时候先进行缓存的查找,找不到的话,在方法内取得数据然后放入缓存。##Annotation利用Annotation判断是否进行缓存,...

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

    下面是一个简单的 `LRUCache` 类实现,使用 `LinkedHashMap` 来实现 LRU 策略: ```java public class LRUCache { private int cacheSize; private LinkedHashMap, Integer&gt; linkedHashMap; public LRUCache...

    LRU算法实现1

    例如,以下是一个简单的LRU缓存实现,使用`LinkedHashMap`的继承方式: ```java public class LRUCache2, V&gt; extends LinkedHashMap, V&gt; { private final int MAX_CACHE_SIZE; public LRUCache2(int cacheSize) ...

    Activity 间intent传递有序排序的map集合

    以下是一个简单的示例,展示如何在Intent中传递一个有序的LinkedHashMap: ```java // 创建一个有序Map LinkedHashMap, String&gt; orderedMap = new LinkedHashMap(); orderedMap.put("key1", "value1"); orderedMap....

    LRUCache实现 同步LRUCache

    以上代码创建了一个简单的LRUCache,通过继承`LinkedHashMap`并重写`removeEldestEntry`方法实现了LRU策略。然而,这个实现并不线程安全。为了实现线程安全的LRUCache,我们可以选择以下两种方式: 1. 使用`...

    java中map集合的用法

    2. **有序遍历**:使用`LinkedHashMap`可以保持元素的插入顺序。 3. **排序**:`TreeMap`可以根据键的自然顺序或自定义比较器来排序键值对。 #### 七、总结 通过本文的学习,我们可以了解到`Map`作为一种非常重要的...

    Java实现LRU算法.zip

    在Java中实现LRU算法,通常会使用数据结构如HashMap或LinkedHashMap来存储页面及其访问信息。HashMap提供快速的查找操作,而LinkedHashMap则同时保持了插入顺序,这对于实现LRU至关重要,因为我们需要快速找到最近...

    地图的简单使用(Map)

    - 使用自定义类作为键时,需重写hashCode()和equals()方法以保持一致性。 总的来说,`Map`是编程中非常重要的数据结构,它简化了数据的管理和检索。了解其工作原理和使用技巧对于编写高效代码至关重要。在实际项目...

    数组和集合的学习笔记

    本篇学习笔记将重点介绍列表(List)、集合(Set)、映射(Map)的不同子类的特点和使用方法。 #### 二、List(列表) **List** 是一种有序的集合,允许重复的元素。主要的实现包括ArrayList、LinkedList、Vector...

    详解Java实现LRU缓存

    使用 LinkedHashMap 实现 LRU 缓存是最简单的方法,因为 LinkedHashMap 自身已经实现了顺序存储,默认情况下是按照元素的添加顺序存储,也可以启用按照访问顺序存储,即最近读取的数据放在最前面,最早读取的数据...

    本人在牛客做的算法题的一些总结,这是相对简单的一些题目

    - 使用哈希表(如 `LinkedHashMap`)来保证 O(1) 时间复杂度的查找。 **Java 实现** ```java import java.util.LinkedHashMap; import java.util.Map; public class LRUCache, V&gt; { private final int capacity; ...

    spring2.5基于注解例子程序

    Spring 2.5是Spring框架的一个重要版本,它引入了大量增强的功能,特别是对注解的支持,这使得在Java应用程序中实现依赖注入和面向切面编程(AOP)变得更加简单和直观。在这个基于注解的例子程序中,我们将深入探讨...

    详解Android的内存优化–LruCache.zip

    本文将深入探讨LruCache的工作原理、使用方法以及如何在实际项目中进行有效利用。 LruCache全称为“Least Recently Used Cache”,即最近最少使用缓存策略。它是一种常用的缓存淘汰算法,当缓存空间满时,会优先...

    java提取数据库表字段信息的工具类.docx

    下面是一个简单的示例,展示了如何使用Java来提取数据库表的字段信息。 ```java import java.sql.*; import java.util.*; public class DatabaseUtil { private Connection con; public DatabaseUtil...

    LRU.rar_LRU

    下面是一个简单的基于`LinkedHashMap`的LRU缓存实现示例: ```java import java.util.HashMap; import java.util.Map; import java.util.LinkedHashMap; public class LRUCache, V&gt; { private final int capacity...

    java LRU算法介绍与用法示例

    Java LRU算法介绍与用法示例 LRU(Least Recently Used,近期最少使用)算法是一种常用的缓存淘汰算法,它的思想是将长时间没有被利用的数据进行删除。该算法可以应用于缓存系统,例如在用户使用联网的软件的时候,...

    Java和Android的LRU缓存及实现原理

    它内部使用了`LinkedHashMap`,并且提供了便捷的方法来添加、获取和移除元素。`LRUCache`的最大容量可以通过构造函数设置,当缓存超过这个容量时,最不常使用的数据会被自动删除。 二、Java中的LRU算法与...

    List转json 顺序不一致(针对json2.1版本JSONObject类重写)

    下面是一个简单的示例,展示了如何使用`LinkedHashMap`来保留顺序: ```java import org.json.JSONObject; import java.util.*; public class OrderedJSONObject extends JSONObject { public OrderedJSONObject...

Global site tag (gtag.js) - Google Analytics