本文的目录结构如下: 一.LinkedHashSet 的 Javadoc 文档注释和简要说明 二.LinkedHashSet 的内部实现:构造函数 三.LinkedHashSet 的 add 操作和 remove 操作 一.LinkedHashSet 的 Javadoc 文档注释和简要说明 还是以官方 javadoc 作为参考进行说明: LinkedHashSet 是 Set 接口的 hash table 和 linked list 实现,而且迭代顺序可预测(按照元素的插入顺序),实际上 Lin…
java.util.LinkedList 本文的主要目录结构: 一.LinkedList的特点及与ArrayList的比较 二.LinkedList的内部实现 三.LinkedList添加元素 四.LinkedList查找元素 五.LinkedList删除元素 六.LinkedList修改元素 一.LinkedList的特点及与ArrayList的比较 对比上一篇的ArrayList介绍[传送门:Java8集合框架——ArrayList源码分析],LinkedList因内部实现不同,其元素的内部…
java.util.ArrayList 以下为主要介绍要点,从 Java 8 出发: 一.ArrayList的特点概述 二.ArrayList的内部实现:从内部属性和构造函数说起 三.ArrayList添加元素和扩容 四.ArrayList删除元素 五.ArrayList查找和修改元素 六.ArrayList的遍历和出现的问题 七.ArrayList的内部元素elementData为何用transient修饰 八.ArrayList和Vector的比较 九.Java8中ArrayList的部分改…
本文的结构如下: 一.LinkedHashMap 的 Javadoc 文档注释和简要说明 二.LinkedHashMap 的内部实现:一些扩展属性和构造函数 三.LinkedHashMap 的 put 操作和扩容 四.LinkedHashMap 的 get 操作 五.LinkedHashMap 的 remove 操作 一.LinkedHashMap 的 Javadoc 文档注释和简要说明 先膜拜下 LinkedHashMap 的 Javadoc,只能说很佩服,这文档注释把 LinkedHashM…
java.util.HashMap 本文目录: 一.HashMap 的特点概述和说明 二.HashMap 的内部实现:从内部属性和构造函数说起 三.HashMap 的 put 操作 四.HashMap 的扩容 五.HashMap 的 get 操作 六.HashMap 的 remove 操作 七.参考 一.HashMap的特点概述和说明 关注点 HashMap的相关结论 是否允许空的 key 是 是否允许重复的 key 否,实际上可能会进行覆盖更新 元素有序:读取数据和存放数据的顺序一致 否,读取…
本文的目录结构: 一.HashSet 的 Javadoc 文档注释和简要说明 二.HashSet 的内部实现:内部属性和构造函数 三.HashSet 的 add 操作和扩容 四.HashSet 的 remove 操作 一.HashSet 的 Javadoc 文档注释和简要说明 截个图,然后来观摩 HashSet 的javadoc,照样是几点总结摘抄: Set 接口的实现类,内部使用了一个 HashMap 实例:不保证 set 的迭代顺序(无序):允许存储 null 通常情况下(假如 hash 分…
问题 (1)LinkedHashSet的底层使用什么存储元素? (2)LinkedHashSet与HashSet有什么不同? (3)LinkedHashSet是有序的吗? (4)LinkedHashSet支持按元素访问顺序排序吗? 简介 上一节我们说HashSet中的元素是无序的,那么有没有什么办法保证Set中的元素是有序的呢? 答案是当然可以. 我们今天的主角LinkedHashSet就有这个功能,它是怎么实现有序的呢?让我们来一起学习吧. 源码分析 LinkedHashSet继承自HashS…
1.简介 我们知道Set不允许包含相同的元素,如果试图把两个相同元素加入同一个集合中,add方法返回false.根据源码实现中的注释我们可以知道LinkedHashSet是具有可预知迭代顺序的Set接口的哈希表和链接列表实现.此实现与HashSet的不同之处在于,后者维护着一个运行于所有条目的双重链接列表.此链接列表定义了迭代顺序,该迭代顺序可为插入顺序或是访问顺序.使用示例如下: package com.test.collections; import java.util.Iterator;…
一.JDK中ArrayList是如何实现的 1.先看下ArrayList从上而下的层次图: 说明: 从图中可以看出,ArrayList只是最下层的实现类,集合的规则和扩展都是AbstractList.List.Collection等上层的接口所设定的,而ArrayList实现或继承了上层的规则,然后重新或扩展来处理集合中的数据. 2.看看接口:Iterable<E>中都定义了那些规则? JDK1.8中的源码: package java.lang; import java.util.Iterat…
框架-spring源码分析(一) 参考: https://www.cnblogs.com/heavenyes/p/3933642.html http://www.cnblogs.com/BINGJJFLY/p/9055454.html https://www.cnblogs.com/leftthen/p/5440107.html spring容器 一.简介 spring容器是整个spring框架的核心,通常我们说的spring容器就是bean工厂,bean工厂负责创建和初始化bean.装配bea…