随笔分类 - 集合源码学习
摘要:HashSet 1、总体架构 2、方法源码 可以看到其实内部就是一个hashMap 其他方法 add()方法
阅读全文
摘要:LinkedList 1、总体架构 2、方法源码 2.1 构造方法() 2.2 addAll()方法 2.3 linkFirst()方法 目的是将这个节点放到第一个节点位置,linkLast()方法同理 2.4 getFirst()方法 获取第一个节点的值,getLast()获取最后一个节点的值。
阅读全文
摘要:HashMap 1、总体架构 2、方法源码 2.1 hash()方法 这里进行了一次扰动计算,hash值右移16位高位也参加运算,增大随机性。 2.2 构造方法() https://www.cnblogs.com/xiyixiaodao/p/14483876.html这个讲的真不错,可以多看看。 2
阅读全文
摘要:arraylist 1、总体关系图 1.1:Serializable接口 这是一个空接口,只有实现了这个接口的对象才可以进行序列化。 然后这个序列化id是为了保证反序列化成功也就是在运行时来判断id是否一致来缺点统一版本。 transient关键字修饰的属性不会被序列化。那arraylist的元素怎
阅读全文
摘要:学集合之前我们先来学习迭代器?那什么是迭代器。 迭代器是对集合进行遍历,而每一个集合内部的存储结构都是不同的,所以每一个集合存和取都是不一样,那么就需要在每一个类中定义hasNext()和next()方法,这样做是可以的,但是会让整个集合体系过于臃肿,迭代器是将这样的方法向上抽取出接口,然后在每个类
阅读全文