初始ArrayList
### 摘要
本文详细介绍了Java中的`ArrayList`类,包括其基本概念、核心源码及经典示例。`ArrayList`是基于数组实现的动态数组,支持随机访问,继承自`AbstractList`,实现了`List`, `RandomAccess`, `Cloneable`, 和 `java.io.Serializable`接口。它提供了添加、删除、修改等常用操作,但不是线程安全的。文章解析了`ArrayList`的核心源码,如默认构造函数、扩容机制(通过`grow()`方法将容量增加到当前容量的1.5倍)、以及常用的`System.arraycopy()`和`Arrays.copyOf()`方法用于数组复制。还介绍了`ArrayList`的四个内部类:`Itr`、`ListItr`、`SubList`和`ArrayListSpliterator`,并给出了一个使用`ArrayList`的基本示例,展示了如何添加元素、遍历列表、删除元素等功能。