一、前言 前面已经分析了HashMap与LinkedHashMap,现在我们来分析不太常用的IdentityHashMap,从它的名字上也可以看出来用于表示唯一的HashMap,仔细分析了其源码,发现其数据结构与HashMap使用的数据结构完全不同,因为在继承关系上面,他们两没有任何关系。下面,进入 ...
                            
                            
                                分类:
编程语言   时间:
2016-05-13 18:49:27   
                                阅读次数:
333
                             
                         
                    
                        
                            
                            
                                    这是一个来自实际项目的例子,在这个案例中,有同事基于jdk中的LinkedHashMap设计了一个LRUCache,为了提高性能,使用了 ReentrantReadWriteLock 读写锁:写锁对应put()方法,而读锁对应get()方法,期望通过读写锁来实现并发get()。 代码实现如下: [j ...
                            
                            
                                分类:
其他好文   时间:
2016-05-13 14:37:10   
                                阅读次数:
165
                             
                         
                    
                        
                            
                            
                                    Java中的LinkedHashMap此实现与 HashMap 的不同之处在于,后者维护着一个运行于所有条目的双重链接列表。此链接列表定义了迭代顺序,该迭代顺序通常就是将键插入到映射中的顺序(插入顺序)。LinkedHashMap和TreeMap的区别 首先2个都是map,所以用key取值肯定是没区 ...
                            
                            
                                分类:
其他好文   时间:
2016-05-13 14:31:01   
                                阅读次数:
188
                             
                         
                    
                        
                            
                            
                                    参考的优秀文章: 《Java编程思想》第四版 《Effective Java》第二版 Map接口是映射表的结构,维护键对象与值对象的对应关系,称键值对。 > hashcode()和equals() hashcode()和equals()即用于识别对象的身份。 在HashMap或类似的实现中,查找一个 ...
                            
                            
                                分类:
编程语言   时间:
2016-05-13 14:20:19   
                                阅读次数:
185
                             
                         
                    
                        
                            
                            
                                HashMap Map基于散列表的实现(它取代了Hashtable)。插入和查询"键值对"的开销是固定的。可以通过构造器设置容量和负载因子,以调整容器的性能 LinkedHashMap 类似HashMap,但是迭代遍历它时,取得"键值对"的顺序是其插入次序,或者是最近最少使用(LRU)的次序。只比H ...
                            
                            
                                分类:
其他好文   时间:
2016-05-09 14:04:39   
                                阅读次数:
121
                             
                         
                    
                        
                            
                            
                                package java.util;
import java.util.function.Consumer;
import java.util.function.BiConsumer;
import java.util.function.BiFunction;
import java.io.IOException;
import HashMap.Node;
/**
 * 哈希表和链表实现Ma...
                            
                            
                                分类:
编程语言   时间:
2016-05-06 16:01:16   
                                阅读次数:
200
                             
                         
                    
                        
                            
                            
                                一、HashMap该类的节点Node类为:staticclassNode<K,V>implementsMap.Entry<K,V>{
finalinthash;
finalKkey;
Vvalue;
Node<K,V>next;
Node(inthash,Kkey,Vvalue,Node<K,V>next){
this.hash=hash;
this.key=key;
this.value=value;
this.next=next;
}
..
                            
                            
                                分类:
编程语言   时间:
2016-05-05 13:03:52   
                                阅读次数:
212
                             
                         
                    
                        
                            
                            
                                给jdk写注释系列之jdk1.6容器(2):LinkedList源码解析 
给jdk写注释系列之jdk1.6容器(3):Iterator设计模式 
给jdk写注释系列之jdk1.6容器(4)-HashMap源码解析 
给jdk写注释系列之jdk1.6容器(5)-LinkedHashMap源码解析 
给jdk写注释系列之jdk1.6容器(6)-HashSet源码解析&Map迭代器工作中经常听到别人讲“...
                            
                            
                                分类:
其他好文   时间:
2016-04-29 17:34:40   
                                阅读次数:
265
                             
                         
                    
                        
                            
                            
                                最近事情有点多,今天抽出时间来看看LinkedHashMap的源码,其实一开始是想分析TreeMap来这,但是看了看源代码之后,决定还是等过几天再分析,原因是TreeMap涉及到了树的操作。。而之前没有接触过树的这种数据结构,只是在学校学一点皮毛而已。。所以我还是打算过几天先恶补一下相关的知识再来对TreeMap做分析。
言归正传,我们今天来看LinkedHashMap。从名字上我们可以看出来,...
                            
                            
                                分类:
编程语言   时间:
2016-04-29 16:32:16   
                                阅读次数:
184
                             
                         
                    
                        
                            
                            
                                给jdk写注释系列之jdk1.6容器(2):LinkedList源码解析 
给jdk写注释系列之jdk1.6容器(3):Iterator设计模式 
给jdk写注释系列之jdk1.6容器(4)-HashMap源码解析 
给jdk写注释系列之jdk1.6容器(5)-LinkedHashMap源码解析 
给jdk写注释系列之jdk1.6容器(6)-HashSet源码解析&Map迭代器工作中经常听到别人讲“...
                            
                            
                                分类:
其他好文   时间:
2016-04-26 19:35:12   
                                阅读次数:
214