09 2019 档案

摘要:前言 前面两节内容我们详细讲解了Hashtable算法和源码分析,针对散列函数始终逃脱不掉hashCode的计算,本节我们将详细分析hashCode和equals,同时您将会看到本节内容是从《Effective Java》学习整理而来(吐槽一句,这本书中文版翻译的真垃圾),对于《Effective 阅读全文
posted @ 2019-09-29 14:36 Jeffcky 阅读(778) 评论(1) 推荐(2) 编辑
摘要:前言 上一节我们实现了散列算法并对冲突解决我们使用了开放地址法和链地址法两种方式,本节我们来详细分析源码,看看源码中对于冲突是使用的哪一种方式以及对比我们所实现的,有哪些可以进行改造的地方。 Hashtable源码分析 我们通过在控制台中实例化Hashtable并添加键值对实例代码来分析背后究竟做了 阅读全文
posted @ 2019-09-19 00:59 Jeffcky 阅读(537) 评论(3) 推荐(1) 编辑
摘要:前言 在入学时,学校为我们每位童鞋建立一个档案信息,当然每个档案信息都对应档案编号,还有比如在学校图书馆,图书馆为每本书都编了唯一的一个书籍号,那么问题来了,当我们需要通过档案号快速查到对应档案信息或者通过书记号快速查到对应书籍,这个时候我们可以通过哪种数据结构呢?前面几节我们详细讲解了ArrayL 阅读全文
posted @ 2019-09-17 00:04 Jeffcky 阅读(3090) 评论(1) 推荐(0) 编辑
摘要:前言 上一节我们手写实现了单链表和双链表,本节我们来看看源码是如何实现的并且对比手动实现有哪些可优化的地方。 LinkedList源码分析 通过上一节我们对双链表原理的讲解,同时我们对照如下图也可知道双链表算法实现有如下特点。 1、链表中的每个链接都是一个对象(也称为元素,节点等)。2、每个对象都包 阅读全文
posted @ 2019-09-12 00:30 Jeffcky 阅读(381) 评论(0) 推荐(1) 编辑
摘要:前言 前面两节内容我们详细介绍了ArrayList,一是手写实现ArrayList数据结构,而是通过分析ArrayList源码看看内置实现,关于集合内容一如既往,本节课我们继续学习集合LinkedList,我们首先入门LinkedList数据结构,然后再去看看LinkedList源码是如何实现的,我 阅读全文
posted @ 2019-09-05 00:15 Jeffcky 阅读(786) 评论(5) 推荐(0) 编辑
摘要:前言 上一节我们通过排队类实现了类似ArrayList基本功能,当然还有很多欠缺考虑,只是为了我们学习集合而准备来着,本节我们来看看ArrayList源码中对于常用操作方法是如何进行的,请往下看。 ArrayList源码分析 上一节内容(传送门《https://www.cnblogs.com/Cre 阅读全文
posted @ 2019-09-03 00:13 Jeffcky 阅读(375) 评论(2) 推荐(0) 编辑
摘要:前言 接下来我们进入集合学习,看过很多文章一上来就是讲解原理感觉会特别枯燥,任何成熟解决方案的出现都是为了解决问题,若通过实际问题引入然后再来讲解原理想必学起来必定事半功倍,从我写博客的那一天起,我就在思考如何通过通俗易懂的话让看到文章的童鞋立马能明白我讲解的什么,即使文章很长若是层层递进定不会感到 阅读全文
posted @ 2019-09-01 16:35 Jeffcky 阅读(844) 评论(0) 推荐(0) 编辑