ArrayList

  • ArrayList 构造器

  1. 无参构造,此时ArrayList的大小为0,第一次add元素之后扩为10,之后每次为原来的1.5倍
  2. 使用有参构造,如果是集和,就是集和的长度,如果是数字就是数字的大小。 

  •  ArrayList添加 元素

  1. add 方法,每次扩容都是1.5倍。
  2. addAll方***先算出扩容后的大小,以及添加完元素的大小,取其中的最大值。
        比如 已经10个元素了,现在在添加 list 里面的6个元素,那么比较的就是15 和 16,取其中的最大值。所以长度会扩容成为16. 
  • ArrayList 扩容为什么是1.5 
  1. 可以使用以前释放的内存。
  2. 方便计算
  • ArrayList 线程不安全
  1. ArrayList 线程不安全的表现
   
很显然这不是一个原子操作,多线程时会出现值覆盖问题。
    

全部评论

相关推荐

10-09 19:08
已编辑
门头沟学院 Java
后端转测开第一人:换个模版 技术栈写的精炼紧凑一点 多投就行
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务