目录
- 介绍
- 优点和缺点
- 常用方法
- 代码实战
介绍
ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。ArrayList 继承了 AbstractList ,并实现了 List 接口。
优点和缺点
根据下标遍历元素效率较高。
根据下标访问元素效率较高。
在数组的基础上封装了对元素操作的方法。
可以自动扩容不像数组一样限制大小。
缺点
插入和删除的效率比较低。
根据内容查找元素的效率较低。
常用方法
Java ArrayList 常用方法列表如下:
方法 | 描述 |
add() | 将元素插入到指定位置的 arraylist 中 |
addAll() | 添加集合中的所有元素到 arraylist 中 |
clear() | 删除 arraylist 中的所有元素 |
clone() | 复制一份 arraylist |
contains() | 判断元素是否在 arraylist |
get() | 通过索引值获取 arraylist 中的元素 |
indexOf() | 返回 arraylist 中元素的索引值 |
removeAll() | 删除存在于指定集合中的 arraylist 里的所有元素 |
remove() | 删除 arraylist 里的单个元素 |
size() | 返回 arraylist 里元素数量 |
isEmpty() | 判断 arraylist 是否为空 |
subList() | 截取部分 arraylist 的元素 |
set() | 替换 arraylist 中指定索引的元素 |
sort() | 对 arraylist 元素进行排序 |
toArray() | 将 arraylist 转换为数组 |
toString() | 将 arraylist 转换为字符串 |
ensureCapacity() | 设置指定容量大小的 arraylist |
lastIndexOf() | 返回指定元素在 arraylist 中最后一次出现的位置 |
retainAll() | 保留 arraylist 中在指定集合中也存在的那些元素 |
containsAll() | 查看 arraylist 是否包含指定集合中的所有元素 |
trimToSize() | 将 arraylist 中的容量调整为数组中的元素个数 |
removeRange() | 删除 arraylist 中指定索引之间存在的元素 |
replaceAll() | 将给定的操作内容替换掉数组中每一个元素 |
removeIf() | 删除所有满足特定条件的 arraylist 元素 |
forEach() | 遍历 arraylist 中每一个 |
代码实战
ArrayList的add,get,set方法的使用 代码片
.
import java.util.*;
public class Test1 {
public static void main(String[] args) {
// 创建一个ArrayList对象
ArrayList test1 = new ArrayList();
// 为对象添加一个新的元素
test1.add("xiaoming");
test1.add("xiaohong");
test1.add("xiaolv");
System.out.println(test1);
System.out.println(test1.get(1));// 使用get方法来获取元素(第二个元素
test1.set(2, "xiaozi"); // 使用set修改元素,第一个参数为索引位置,第二个为要修改的值
System.out.println(test1);
}
}
ArrayList的遍历方法 代码片
.
import java.util.*;
public class Test1 {
public static void main(String[] args) {
// 创建一个ArrayList对象
ArrayList<String> test1 = new ArrayList<String>();
// 为对象添加一个新的元素
test1 .add("xiaoming");
test1 .add("xiaohong");
test1 .add("xiaolv");
test1 .add("xiaolv");
//for循环遍历ArrayList
for (int i = 0; i < test1 .size(); i++) {
System.out.println(test1 .get(i));
}
//增强for循环遍历ArrayList
for (String i : test1) {
System.out.println(i);
}
}
}