数据结构
文章平均质量分 69
BatmanBruceWayne
这个作者很懒,什么都没留下…
展开
-
散列与Java Map结构分析
散列是一种常见的数据机构,也就是我们常说的Map,通过key来映射一个value,最终达到保存数据的目的。每个key被映射到0到散列表长度 - 1这个范围中的某个数,并且将key和value放到适当的单元中,这个映射就叫做散列函数(hash function)。理想情况下它应该运算简单并且应该保证任何两个不同的关键字映射到不同的单元,不过这是不可能的。当两个key散列到同一个值的时候(成为冲突),需原创 2015-11-03 23:03:46 · 1417 阅读 · 0 评论 -
HashMap源码分析
在上一篇博客中,大致介绍了散列以及Java Map的结构,这一篇主要分析HashMap的源代码,主要理解HashMap是如何保存数据、取数据、如何扩容、遍历的效率的对比。分析的源码版本为:java version “1.7.0_71”。 (1)构造函数 我个人最常用的构造函数是参数为空的,这个构造函数会调用另外一个带参数的构造函数, 并传入默认容量16和默认的loadFactor 0.7原创 2015-11-04 15:16:46 · 468 阅读 · 0 评论 -
SparseArray源码分析
在上一篇博客中,我们分析了Java中一种很常见的散列数据结构HashMap的原理(地址 http://blog.csdn.net/batmanbrucewayne/article/details/49638437)。但熟悉Android的朋友应该知道,当我们要使用Integer类型作为Map里的key时,在Android SDK中,提供了一种叫做SparseArray的数据结构来代替。原话是:Us原创 2017-04-12 13:36:59 · 453 阅读 · 0 评论