自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 [双向链表]双向链表的Java实现

双向链表中,除了一个保存值的 val,还有一个额外引用字段保存前一个节点,一个额外引用字段保存后一个节点。节点结构/** * 双向链表节点 */private class DoubleLinkedNode { /** * 节点 val */ private int val; /** * 前一个节点 */ private DoubleLinkedNode prev; /** * 后一个节点 */ privat

2021-08-16 21:31:33 105

原创 [单向链表]单向链表的Java实现

单链表中,每个节点不仅包含 val,还包含链接到下一个节点的引用字段。节点结构/** * 单链表节点内部类 */ private class SingleLinkedNode { /** * 节点 val */ private int val; /** * 下个节点 */ private SingleLinkedNode next;

2021-08-15 13:41:20 91

原创 结合代码针对 HashSet 添加和扩容源码进行解读

结论ArrayList 底层是 Object 类型的数组transient Object[] elementData;使用无参构造。默认值大小 10,之后每次扩容为原来的 1.5 倍;使用有参构造。默认值为构造大小,之后每次扩容为原来的 1.5 倍;特点可以加入任何值和 null,并且是 1 个或多个;线程不安全,顺序存储,查找、修改和尾部添加和删除执行效率高;非尾部的删除和增加需要移动以保证顺序,效率低。无参构造构造方法/** * Shared empty array

2021-05-30 11:26:11 74

原创 结合代码解读 LinkedList 增删改查相关源码

结论LinkedList 底层由 Node 类组成;LinkedList 类实现了双向链表和双端队列;插入时,默认使用尾插法;特点可以加入任何值和 null,并且是 1 个或多个;线程不安全,没有实现同步。添加和删除效率高(修改指针),查找和修改效率低(需要顺序遍历);成员变量transient int size = 0;/** * Pointer to first node */transient Node<E> first;/** * Pointer

2021-05-28 15:22:11 100

原创 结合代码解读ArrayList 添加和扩容相关源码

结论ArrayList 底层是 Object 类型的数组transient Object[] elementData;使用无参构造。默认值大小 10,之后每次扩容为原来的 1.5 倍;使用有参构造。默认值为构造大小,之后每次扩容为原来的 1.5 倍;特点可以加入任何值和 null,并且是 1 个或多个;线程不安全,顺序存储,查找、修改和尾部添加和删除执行效率高;非尾部的删除和增加需要移动以保证顺序,效率低。无参构造构造方法/** * Shared empty array

2021-05-28 15:14:43 60

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除