一、HashMap概述 HashMap基于哈希表的Map接口的实现。此实现提供所有可选的映射操作,并允许使用null值和null键。(除了不同步和允许使用null之外,HashMap类与Hashtable大致相同。)此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 值得注意的是HashMap.....
分类:
其他好文 时间:
2015-04-22 23:37:51
阅读次数:
167
源码分析要分析HashMap,先来回顾一下数据结构中的哈希表。什么是哈希表?是根据关键码值(Key)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做哈希函数,存放记录的数组叫哈希表。
比如关键字为k,则其值存放在f(k)的存储位置上。由此,不需比较便可直接取得所查记录。称这个对应关系f为哈希函数,按这个思想建立的表为散列表(哈希表...
分类:
其他好文 时间:
2015-03-06 19:15:19
阅读次数:
219
JDK提供了非常多的集合类,不仅使用简单,而且功能丰富,可以满足你绝大部分的需求。但在使用的时候如果不了解其实现的原理,有可能会碰到性能方面的问题,或者在一起场景下会导致系统故障。前段时间Review代码,发现有同学在使用HashMap时存在一些问题:1、在并发场景下使用HashMap。2、数据量较...
分类:
其他好文 时间:
2014-12-13 13:25:06
阅读次数:
161
HashMap 源码分析 (JDK1.7)
看HashMap源码有一段时间了,但是一直没有写点什么,这几天趁着要换实习公司,没什么事做,就把自己对HashMap的理解写下来,边写边整理自己的思路。
这是借用别人画的理解HashMap的图,简单理解就是它结合了数组查找快和链表插入删除快的优势。
下面直接分析源码:
先从构造函数说起:
public HashMap(int...
分类:
其他好文 时间:
2014-11-27 16:21:10
阅读次数:
174
这两天在复习JAVA的知识点,想更深层次的了解一下JAVA,所以就看了看JAVA的源码,把自己的分析写在这里,也当做是笔记吧,方便记忆。写的不对的地方也请大家多多指教。 JDK1.6中HashMap采用的是位桶+链表的方式,即我们常说的散列链表的方式,而JDK1.8中采用的是位桶+链表/红黑树...
分类:
编程语言 时间:
2014-10-18 16:55:13
阅读次数:
242
(一)哈希算法
(二)java中的hashcode
(三)hashmap源码分析...
分类:
编程语言 时间:
2014-09-23 09:53:34
阅读次数:
202