菜鸟的学习之路(9) — ArrayList类

一.认识ArrayList:

1.ArrayList是一个动态的数组(集合),可以在生成后对其中的内容进行增删改。相对于Array(静态数组),使用更灵活,可以对其内容进行修改。

2.实现的接口是CollectionIterableListRandomAccessCloneableSerializable接口。

3.ArrayList的父类是AbstractList,它的子类有:AttributeList,RoleList,RoleUnresolvedList

4.ArrayList的源码中可以看出,它的底层是用数组实现的。

简单操作:

菜鸟的学习之路(9) — ArrayList类_第1张图片

二.ArrayList详解:

1).构造方法:

a)ArrayList()

构造一个初始容量为十的空列表。

例: ArrayList array = new ArrayList();

b)ArrayList(Collection)

构造一个包含指定Collection的元素列表,按照返回顺序排序。

c)ArrayList(int)

构造一个指定容量的空列表。

2).方法:

帮助文档中的截图:

菜鸟的学习之路(9) — ArrayList类_第2张图片

可能在这里看不清楚,大家可以看帮助文档的。

3).ArrayList的使用注意:

如果增加的元素个数超过10个,就会在底层重新生成一个新的数组,长度为原数组长度的1.5倍+1,然后就将原数组中的内容复制过来,后续的要增加的内容会在新数组后添加,如果在超出范围,继续重复上边的操作。

删除集合中的元素时,删除的元素位置让后一个元素代替,统一的向前移动一个位置。

集合中存放的只能是对象,而且都是Object类型,原生数据类型无法放置在里面,所以我们需要包装类,来进行存放。 例: array.add(new Integer(1));

当取出集合中的值时,需要进行强制转换,转换为存进去时的类型。

部分方法的使用:

菜鸟的学习之路(9) — ArrayList类_第3张图片

你可能感兴趣的:(菜鸟的学习之路(9) — ArrayList类)