1.ArrayList
1.1 集合和数组的区别:
共同点:都是存储数据的容器。
不同点:数组的容量是固定的,集合的容量是可变的。
1.2ArrayList的构造方法和添加方法
public ArrayList() | 创建一个空的集合对象 |
---|---|
public boolean add(E e) | 将指定的元素追加到此集合的末尾 |
public void add(int index,E element) | 在此集合中的指定位置插入指定的元素 |
ArrayList:
可调整大小的数组实现
是一种特殊的数据类型 泛型
怎么用呢?
在出现E的地方我们使用引用数据类型替换即可。
1.3ArrayList类常用方法
成员方法:
public boolean remove(Object o) | 删除指定的元素,返回删除是否成功 |
---|---|
public E remove(int index) | 删除指定索引处的元素,返回被删除的元素 |
public E set(int index,E element) | 修改指定索引处的元素,返回被修改的元素 |
public E get(int index) | 返回指定索引处的元素 |
public int size() | 返回集合中元素的个数 |
1.4示例代码:
** 创建集合并给集合中添加元素并打印:**
打印结果:
删除指定元素
打印结果
**注意:**此方法有个弊端,当集合中相同元素在相邻位置时,删除这个元素时,只能删除一个。
示例:
此时我调用方法,删除集合中的 a 元素,但只删除了一个。
原因:
系统默认从集合中的第一个元素开始找,箭头指向当前集合元素,当找到 a 时就删除,箭头指向下一个索引的位置。
此时,因为集合是自动变长与自动缩短的容器,第二个a元素会自动到0索引的位置,集合后边元素依次挪到前一个索引的位置上。
所以第二个a元素并未被删除。
改进:
只需要遍集合元素,每次判断后让索引减一即可。
示例:
结果:
在此集合中的指定位置插入指定的元素
结果:
删除指定索引处的元素
结果:
修改指定索引处的元素
结果:
返回指定索引处的元素
结果:
获取集合中元素的个数
结果: