随笔分类 -  底层阅读解析

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

点击右上角即可分享
微信分享提示