集合之ArrayList的源码分析

   对于ArrayList,可以说诸位绝不陌生,可以说是在诸多集合中运用的最多一个类之一,那么它是怎样构成,怎样实现的呢,相信很多人都知道数组构成的,没毛病,如果遇到面试的时候,估计还会问,它的默认大小是多少?它是怎样扩容的?它的一个属性modCount有啥作用?线程安全性怎么样?。。。。等待一系列问题。下面就围绕着对该集合的运用来展开,如增删改查,这四个方面。在介绍之前,先来看看该集合的性质

1、里面的元素是有序的(指的是添加的顺序和排列的顺序是一致的)

2、可以添加重复元素

3、增删慢,查询快

4、内部采用了Object数组来存储元素,size为元素个数

5、有线程安全问题

二、增加

先来贴下增加元素的源码

1 public boolean add(E e) { 2 3 ensureCapacityInternal(size + 1); // Increments modCount!! 4 elementData[size++] = e; 5 return true; 6 }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zydysy.html