摘要: title: HashSet源码解析 date: 2018 08 09 16:00:26 tags: java 1. 引言 HashSet 实现了 Set 接口,底层的数据结构是一个 (实际上是一个 HashMap 实例),所以,要了解 HashSet,最主要的还是要了解 HashMap,有关 Ha 阅读全文
posted @ 2018-08-09 16:43 firepation 阅读(114) 评论(0) 推荐(0)
摘要: 1. 引言 上个月去一家公司面试 java 实习生,面试官说的一句话我记得很清楚 虽然后面由于种种原因把实习给辞了,不过面试官给的建议我认为是有用的,从今天开始了解一下 JDK 中集合框架的源码,以此提升自己。 查看 JDK 版本为 1.8。另外,由于本人只是水平有限,因此博客中有问题欢迎大家指出。 阅读全文
posted @ 2018-08-09 11:57 firepation 阅读(109) 评论(0) 推荐(0)
摘要: 1. 底层数据结构 在 LinkedList 中,定义了一个内部类 来保存每个节点的信息。在这个内部类中,有一个 E 类型的变量,用于存储该节点的值; 和 变量存储着前后两个节点的地址,也是这两个变量是每个前后两个节点存在联系。 在 LinkedList 这个类中,定义了 first 和 last 阅读全文
posted @ 2018-08-09 11:53 firepation 阅读(123) 评论(0) 推荐(0)
摘要: 作者:纯洁的微笑 出处:www.ityouknow.com 版权所有,欢迎保留原文链接进行转载:) 1. 前言 Map 这样的 key value 在软件开发中是非常经典的结构,常用于在内存中存放数据。本篇主要谈一谈 HashMap 存储结构以及其常用 API 的实现。 众所周知 HashMap 底 阅读全文
posted @ 2018-08-09 11:52 firepation 阅读(232) 评论(0) 推荐(0)
摘要: 1. 类定义 这个从源码中可以直接看出来,HashMap 继承自 AbstractMap,而 Hashtabl 继承自 Dictionary。 2. 线程安全性 Hashtable 在很多方法定义时都会加上 关键字,说明 Hashtabl 是线程安全的,而 HashMap 并不能保证线程安全。 3. 阅读全文
posted @ 2018-08-09 11:51 firepation 阅读(1278) 评论(0) 推荐(0)