mirror of
https://github.com/Snailclimb/JavaGuide
synced 2025-06-16 18:10:13 +08:00
Merge pull request #2440 from WindLYLY/main
Update arraylist-source-code.md
This commit is contained in:
commit
4acc22c947
@ -729,7 +729,7 @@ private void grow(int minCapacity) {
|
|||||||
**我们再来通过例子探究一下`grow()` 方法:**
|
**我们再来通过例子探究一下`grow()` 方法:**
|
||||||
|
|
||||||
- 当 `add` 第 1 个元素时,`oldCapacity` 为 0,经比较后第一个 if 判断成立,`newCapacity = minCapacity`(为 10)。但是第二个 if 判断不会成立,即 `newCapacity` 不比 `MAX_ARRAY_SIZE` 大,则不会进入 `hugeCapacity` 方法。数组容量为 10,`add` 方法中 return true,size 增为 1。
|
- 当 `add` 第 1 个元素时,`oldCapacity` 为 0,经比较后第一个 if 判断成立,`newCapacity = minCapacity`(为 10)。但是第二个 if 判断不会成立,即 `newCapacity` 不比 `MAX_ARRAY_SIZE` 大,则不会进入 `hugeCapacity` 方法。数组容量为 10,`add` 方法中 return true,size 增为 1。
|
||||||
- 当 `add` 第 11 个元素进入 `grow` 方法时,`newCapacity` 为 15,比 `minCapacity`(为 11)大,第一个 if 判断不成立。新容量没有大于数组最大 size,不会进入 huge`C`apacity 方法。数组容量扩为 15,add 方法中 return true,size 增为 11。
|
- 当 `add` 第 11 个元素进入 `grow` 方法时,`newCapacity` 为 15,比 `minCapacity`(为 11)大,第一个 if 判断不成立。新容量没有大于数组最大 size,不会进入 `hugeCapacity` 方法。数组容量扩为 15,add 方法中 return true,size 增为 11。
|
||||||
- 以此类推······
|
- 以此类推······
|
||||||
|
|
||||||
**这里补充一点比较重要,但是容易被忽视掉的知识点:**
|
**这里补充一点比较重要,但是容易被忽视掉的知识点:**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user