自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 超深度解析HashMap的关键底层逻辑

本文概述了HashMap中的核心方法和属性。首先解析了get方法,详细探讨了hash方法如何计算哈希值,并解释了如何通过异或操作和位移运算提高哈希值的随机性。然后分析了getNode方法。接着解析了put方法,包括初始化、检查桶数组、计算索引、处理哈希冲突、红黑树节点检查、链表遍历插入、更新节点值以及扩容和更新统计信息。最后,介绍了HashMap的默认初始容量、加载因子、红黑树阈值、链表阈值、最小容量、修改次数和扩容阈值等关键属性。

2024-04-10 17:36:51 884

原创 为什么数组根据数组下标的随机访问可以做到时间复杂度为 O(1) ?

为什么数组根据数组下标的随机访问可以做到时间复杂度为 O(1) ?在java中,哪些集合根据数组下标的随机访问可以做到时间复杂度为 O(1) ,哪些不能?

2024-04-08 22:02:26 625 1

原创 时间复杂度 O(1)

时间复杂度为 O(1) 表示一个算法的执行时间不随输入数据的规模(即问题的大小)变化而变化。换句话说,无论输入数据量多大,算法的执行时间都保持恒定。这种时间复杂度通常与常数时间操作相关联,意味着算法的执行时间是一个常数,不会随着输入的增加而增加。

2024-04-08 20:58:27 240

空空如也

空空如也

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

TA关注的人

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