- 博客(3)
- 收藏
- 关注
原创 HashMap的put方法
的底层实现主要基于**哈希表、链表和红黑树。**在JDK 1.8及以后的版本中,HashMap的底层数据结构是一个数组和链表/红黑树的结合体。**数组:HashMap使用一个数组来存储桶(Bucket),**每个桶可以存储一个或多个键值对。数组的长度总是2的幂次方,这是为了优化哈希计算的性能。**链表:当多个键值对的哈希值相同(即发生哈希冲突)时,**这些键值对会被存储在同一个桶中的链表中。链表的使用解决了哈希冲突的问题,但当链表过长时,查找效率会下降。
2024-07-22 08:50:28
345
原创 ArrayList的扩容机制
无参构造方法,初始容量为0,此时的elementDate是一个Obeject类型的空数组,第一次添加元素时,扩容内存大小容量为10。则输出OutMemoryError错误。此时的元素个数为13,容量为12,容量不足,容量大小将按照原容量的1.5倍进行扩容增长。如果参数大于0,将elementData数组进行初始化并给它的长度赋值为参数。如果参数等于0,那么给elementData数组进行赋值为空数组。是基于数组实现的,随着元素的增加而动态扩容。自定义容量参数,此时我将容量大小设置为12。
2024-07-14 17:27:37
307
原创 JAVA中的StringBuilder和StringBufferString的扩容机制
JAVA中的StringBuilder和StringBufferString的扩容机制。
2024-07-07 12:51:14
636
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人