LinkedHashMap

1.介绍

HashMap的子类。LinkedHashMap可以按照元素的插入顺序遍历。

2.常用方法

java.util.LinkedHashMap<K, V>

类。

java.util.LinkedHashMap.LinkedHashMap(int initialCapacity, float loadFactor, boolean accessOrder)

构造函数。

boolean java.util.LinkedHashMap.removeEldestEntry(Entry<K, V> eldest)

每次插入完node之后,该方法得到调用。若返回true,则删掉排在最后的node。

3.LRU实现

最近最久未访问的缓存算法。

如果想实现LRU特性,可以重写removeEldestEntry()方法,一般为:

 @Override
            protected boolean removeEldestEntry(Map.Entry eldest) {
                return size() > MAX_CACHE_SIZE;
            }
时间: 2024-10-21 14:42:30

LinkedHashMap的相关文章

JAVA提高教程(14)-认识Map之LinkedHashMap

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

activity-在 Activity 之间如何传递 LinkedHashMap?

问题描述 在 Activity 之间如何传递 LinkedHashMap? 我想在activities 之间传递 LinkedHashMap,代码如下:Activity A LinkedHashMap mLinkedHashMap = new LinkedHashMap<String Object>();// setting data in mapBundle bundle = new Bundle();bundle.putSerializable(""OBJECTS_LI

使用 LinkedHashMap 实现 LRU 算法

LinkedHashMap 源码分析 public class LinkedHashMap<K,V> extends HashMap<K,V> implements Map<K,V> 上面是 LinkedHashMap 的继承结构.然后看下构造方法: private transient Entry<K,V> header;//内部链表的头 private final boolean accessOrder;//是否按照访问的顺序排序,默认是 false pu

LinkedHashMap 取值问题 非常感谢

问题描述 LinkedHashMap 取值问题 非常感谢 LinkedHashMap f =[{criterions=[{fieldName=person11.id, operator=is, value=1}], junction=and, columnJunction=and}]; 怎么取出criterions=[{fieldName=person11.id, operator=is, value=1}] 然后取出value 解决方案 http://blog.csdn.net/zelda00

java.util.LinkedHashMap cannot be cast to

报错信息: {     "ErrorCode" : 2,     "ErrorContent" : "java.util.LinkedHashMap cannot be cast to com.better517na.gwCommunicateJavaService.wordJiujiu.model.vo.PayVo",     "ResponseTime" : 1455851510156 } 解决思路: 1.服务调用方 传参

LinkedHashMap相关信息介绍(转)

 Java中的LinkedHashMap此实现与 HashMap 的不同之处在于,后者维护着一个运行于所有条目的双重链接列表.此链接列表定义了迭代顺序,该迭代顺序通常就是将键插入到映射中的顺序(插入顺序). LinkedHashMap和TreeMap的区别 首先2个都是map,所以用key取值肯定是没区别的,区别在于用Iterator遍历的时候 LinkedHashMap保存了记录的插入顺序,先插入的先遍历到 TreeMap默认是按升序排,也可以指定排序的比较器.遍历的时候按升序遍历. http

Java集合框架:LinkedHashMap

  如无特殊说明,本文以jdk7为准进行说明. package java.util; import java.io.*; public class LinkedHashMap<K,V> extends HashMap<K,V> implements Map<K,V>{ }   可以看到LinkedHashMap继承了HashMap,那么LinkedHashMap又有什么特点呢?   LinkedHashMap是Hash表和链表的实现,并且依靠着双向链表保证了迭代顺序是插

深入理解Java LinkedHashMap教程

1.LinkedHashMap概述: LinkedHashMap是HashMap的一个子类,它保留插入的顺序,如果需要输出的顺序和输入时的相同,那么就选用LinkedHashMap. LinkedHashMap实现与HashMap的不同之处在于,后者维护着一个运行于所有条目的双重链接列表.此链接列表定义了迭代顺序,该迭代顺序可以是插入顺序或者是访问顺序. 注意,此实现不是同步的.如果多个线程同时访问链接的哈希映射,而其中至少一个线程从结构上修改了该映射,则它必须保持外部同步. 根据链表中元素的顺

[Android] 缓存机制

移动开发本质上就是手机和服务器之间进行通信,需要从服务端获取数据.反复通过网络获取数据是比较耗时的,特别是访问比较多的时候,会极大影响了性能,Android中可通过缓存机制来减少频繁的网络操作,减少流量.提升性能. 实现原理 把不需要实时更新的数据缓存下来,通过时间或者其他因素 来判别是读缓存还是网络请求,这样可以缓解服务器压力,一定程度上提高应用响应速度,并且支持离线阅读.  Bitmap的缓存 在许多的情况下(像 ListView, GridView 或 ViewPager 之类的组件 )我