java
文章平均质量分 67
Vanffer
这个作者很懒,什么都没留下…
展开
-
Java PriorityQueue
数据按小根堆存储,堆一定是完全二叉树,因此可以通过数组存储。叶子节点的下标一定大于size/2。原创 2023-11-28 11:24:10 · 49 阅读 · 0 评论 -
Java ArrayList源码浅析
扩容函数grow(minCapacity),并非直接扩容到minCapacity,而是通过ArraySupport.newLength()计算一个新的容量。如果新的容量preLength < SOFT_MAX_ARRAY_LENGTH = Integer.MAX_VALUE - 8,则是合法的容量。当数组扩容后,就算删除了元素,elementData仍然是扩容之后的大小,只是size会改变。将集合对象转换为数组,更新ArrayList的size属性为集合对象的大小。数组实现,能够随机访问,增加和删除慢。原创 2023-11-27 11:26:40 · 44 阅读 · 1 评论