首页 > 其他 > 详细

ArrayList

时间:2021-02-17 23:54:54      阅读:38      评论:0      收藏:0      [点我收藏+]

ArrayList是实现了List接口的可扩容数组(动态数组),它的内部是基于数组实现的,它的具体定义如下:

    public class ArrayList<E> extends AbstractList<E> implements list<E>,

            RandomAccess, Cloneable, java.io.Serializable {...}

  • ArrayList可以实现所有可选择的列表操作,允许所有的元素,包括空值。ArrayList还提供了内部存储list的方法,它能够完全替代Vector,只有一点例外,ArrayList不是线程安全的容器。
  • ArrayList有一个容量的概念,这个数组的容量就是List用来存储元素的容量。
  • ArrayList不是线程安全的容器,如果多个线程中至少有两个线程修改了ArrayList的结构的话就会导致线程安全问题,作为替代条件可以使用线程安全的List,应使用:Collections.synchronizedList

List list = Collections.synchronizedList(new ArrayList(...))

  • ArrayList具有fail-fast快速失败机制,能够对ArrayList做出失败检测。当在迭代集合的过程中该集合在结构上发生改变的时候,就有可能会发生fail-fast,及抛出ConcurrentModificationException异常。

ArrayList

原文:https://www.cnblogs.com/xxeleanor/p/14409218.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!