随笔分类 - 底层阅读解析
摘要:概述 1、底层:HashSet + LinkedHashMap 2、创建节点时将节点插入链表,因此有序 3、线程不安全 源码理解 demo: public class LinkedHashSetDemo { public static void main(String[] args) { test(
阅读全文
摘要:HashSet源码阅读理解 特点 1、hashset数据结构:每个存储的数据对应一个对象(Object),存储的数据作为key 2、用于存储不重复的数据; 3、内部维护一个hashmap 4、无序 5、线程不安全 源码理解: demo: public class HashSetDemo { publ
阅读全文
摘要:ArrayList源码解析 上图: 先看ArrayList的构造方法: 无参构造: ->无参构造只是新建了一个ArrayList实例并用一个空的Object数组初始化了实例的全局变量elementData且elementData使用了transient关键字修饰,表示该变量不能被序列化; 有参构造1
阅读全文
摘要:LinkedList源码解析 特点:有序、线程不安全 1、数据结构:双向链表 模型: 2、创建 无参创建时不做任何操作 有参创建时,参数为Collection即集合,将参数转数组全部存入创建的LinkedList中 3、调用add方法添加元素 尾插法将新节点放到最后 返回boolean值 141行:
阅读全文
摘要:1、HashMap无参创建的时候内部并不会做什么处理,只是单纯的建造了一个对象,有参创建的时候会找到比指定值大的最小2次幂来当做容量,比如说new HashMap(10) -> 比10大的最小2次幂是2的4次方即16,并指定hashmap的阈值(就是扩容的触发条件之一,当hashmap中的键值对数量
阅读全文