ArrayList和LinkedList的区别 【Java】——数组、List和ArrayList、LinkedList 的区别 Heap python数据结构之堆(heap) 数据结构:堆(Heap) Hash Table: Python数据结构——散列表 Stack https://blog.c ...
分类:
其他好文 时间:
2019-02-09 22:54:48
阅读次数:
273
HashMap 介绍 HashMap 是一个散列表,它存储的内容是键值对(key value)映射。 HashMap 继承于AbstractMap,实现了Map、Cloneable、java.io.Serializable接口。 HashMap 的实现不是同步的,这意味着它不是线程安全的。它的key ...
分类:
其他好文 时间:
2019-02-08 13:15:59
阅读次数:
184
解决hash冲突之分离链接法 分离链接法:其做法就是将散列到同一个值的所有元素保存到一个表中。 这样讲可能比较抽象,下面看一个图就会很清楚,图如下 相应的实现可以用分离链接散列表来实现(其实就是一个linkedList数组) 至于基本的增加、删除和查询的思路都是先根据散列函数来确定遍历哪个链表。然后 ...
分类:
其他好文 时间:
2019-02-01 19:50:33
阅读次数:
232
散列算法和哈希表结构 算法概述 Hash ,一般翻译做“ 散列” ,也有直接音译为“ 哈希” 的,就是把任意长度的输入(又叫做预映射, pre image ),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不 同的输入可能会散 ...
分类:
编程语言 时间:
2019-02-01 18:51:21
阅读次数:
202
之前介绍了Java并发的基础知识和使用案例分析,接下来我们正式地进入Java并发的源码分析阶段,本文作为源码分析地开篇,源码参考JDK1.8 OverView: JDK1.8源码中的注释提到:ConcurrentHashMap是一种提供完整的并发检索和对于并发更新有高预测性的散列表,遵循了与Hash ...
分类:
编程语言 时间:
2019-01-31 13:15:40
阅读次数:
183
HashMap实现原理及源码分析 哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,而HashMap的实现原理也常常出现在各类的面试题中,重要性可见一斑。本文会对java集合框架中的对 ...
分类:
其他好文 时间:
2019-01-24 01:11:52
阅读次数:
169
问:什么是数据结构? 答:一组数据的存储结构。 问:什么是算法? 答:操作数据的一组方法。 数据结构和算法是相辅相成的,数据结构为算法服务,算法要作用在特定的数据结构之上。下面的数据结构和算法的思维导图: 其中有20个最常用的、最基础的数据结构与算法: 10个数据结构:数组、链表、栈、队列、散列表、 ...
分类:
编程语言 时间:
2019-01-17 15:06:46
阅读次数:
301
一说到散列表,大家脑子想到的词就是:Hashmap、key-value、查找速度快、增删速度快等等。确实,在我们平常的学习生活中,散列表是很常见、也是用的很多的数据结构。那么散列表是怎样设计出来的,为什么它既可以和数组一样查询快,又可以和链表一样快增删,本节让我们一起了解一下什么是散列表、什么是散列 ...
分类:
其他好文 时间:
2019-01-11 20:01:14
阅读次数:
201
前面我们介绍了HashMap的结构和原理,这里介绍一个跟它类似的Hashtable。 和HashMap一样,Hashtable 也是一个散列表,它存储的内容是键值对(key-value)映射。Hashtable 继承于Dictionary,实现了Map、Cloneable、java.io.Seria ...
分类:
其他好文 时间:
2019-01-06 16:34:14
阅读次数:
142
1.哈希表介绍 前面我们已经介绍了许多类型的数据结构。在想要查询容器内特定元素时,有序向量使得我们能使用二分查找法进行精确的查询((O(logN)对数复杂度,很高效)。 可人类总是不知满足,依然在寻求一种更高效的特定元素查询的数据结构,哈希表/散列表(hash table)就应运而生啦。哈希表在特定 ...
分类:
编程语言 时间:
2019-01-03 22:34:56
阅读次数:
192