https://blog.youkuaiyun.com/zymx14/article/details/78324464
第一次add()的时候,minCapacity=1,这时数组的长度变成10;
以后add()的时候,if(minCapacity>oldLength+oldLength/2),则判断minCapacity与最大数组长度的大小(Integer.MAX_VALUE-8),如果比这小,这数组长度为最大数组长度,否则赋值为Integer.MAX_VALUE。
本文深入探讨了ArrayList在Java中如何进行动态扩容。当调用add()方法时,如果当前容量不足以容纳新元素,ArrayList会自动调整其容量。首次调用add()时,最小容量设置为1,随后数组长度将扩大到10。之后的扩容遵循特定规则:如果所需容量大于当前容量加上当前容量的一半,且小于Integer.MAX_VALUE-8,则新容量设定为最大允许值;否则,容量将被设置为Integer.MAX_VALUE。
https://blog.youkuaiyun.com/zymx14/article/details/78324464
第一次add()的时候,minCapacity=1,这时数组的长度变成10;
以后add()的时候,if(minCapacity>oldLength+oldLength/2),则判断minCapacity与最大数组长度的大小(Integer.MAX_VALUE-8),如果比这小,这数组长度为最大数组长度,否则赋值为Integer.MAX_VALUE。
863
1127
305

被折叠的 条评论
为什么被折叠?