ArrayList

ArrayList:

 

 

构造器:

 

 

 

看一下add方法:

 

初始化最小大小为10:

 

 

 

 

当add之后的size大于当前数组长度的时候进行一次扩容:

 

新的数组大小是原数组大小的1.5倍。最后Arrays.copyOf到新的数组。

看一下迭代器:

 

在next的时候会比较最新modcount和初始化时候的区别,有区别说明修改过抛出异常,乐观锁。

在用remove的时候重新赋值expectedModCount。

 

第一种不会有异常 第二种有 第三种无

边遍历边删除:

https://www.jianshu.com/p/0c76e12f77de

 

总结:

  • 默认大小是10
  • add之后的size大于当前数组长度的时候
  • grow时新的大小是之前的1.5倍

 

posted @ 2020-07-10 22:31  l2c  阅读(125)  评论(0)    收藏  举报