目录
可能需要的知识:
引用数据类型JAVA |一、基础-CSDN博客
一、概述
1.ArrayList继承了AbstractList类,实现了List接口,位于java.util包中
public class ArrayList<E> extends AbstractList<E>
implements List<E>, RandomAccess, Cloneable, java.io.Serializable
{
……
}
//语法格式
ArrayList<E> 对象名 =new ArrayList<>(); // 初始化
//E:泛型数据类型,用于设置对象的数据类型,只能为引用数据类型
2.ArrayList类是一个可以动态修改的数组队列,与普通数组的区别就是:ArrayList没有固定大小限制,提供了相关添加、删除、修改、遍历元素等功能。
二、引用类型
ArrayList 中的元素实际上是对象,<E> 只能为引用数据类型,这时我们就需要使用到基本类型的包装类。
//比如
ArrayList<Integer> li=new ArrayList<>(); // 存放整数元素
ArrayList<Character> li=new ArrayList<>(); // 存放字符元素
基本类型 | 引用类型 |
---|---|
boolean | Boolean |
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
此外,BigInteger、BigDecimal 用于高精度的运算,BigInteger 支持任意精度的整数,也是引用类型,但它们没有相对应的基本类型。
三、使用方法
(一)基本功能
添加元素 | add() |
访问元素 | get() |
修改元素, 索引从0开始,第二个参数代表新值 | set(int index,E element) |
删除元素 | remove(int index) |
计算元素数量 和索引无关,几个元素就是几 | size() |
迭代数组元素 | for(int i=0; i< 对象名.size();i++){} |
for-each for(String i : size){} |
(二)ArrayList排序
对ArrayList排序,我们借助的是Collections类提供的sort()方法,对字符串或数字列表进行排序
1.字母排序
//字母排序
ArrayList<String> letter = new ArrayList<>();
letter.add("Zoom");
letter.add("Year");
letter.add("Bean");
letter.add("China");
Collections.sort(letter);//排序
for (int i = 0;i<letter.size();i++){
System.out.println(letter.get(i)); //输出
}
运行结果:Bean China Year Zoom
2.数字排序
//数字排序
ArrayList<Integer> number = new ArrayList<>();
number.add(7);
number.add(5);
number.add(8);
number.add(22);
Collections.sort(number);
for (int i : number){
System.out.println(i);
}
运行结果: 5 7 8 22
(三)常用方法
方法 | 描述 |
---|---|
addAll() | 添加集合中的所有元素到 arraylist 中 |
clear() | 删除 arraylist 中的所有元素 |
clone() | 复制一份 arraylist |
contains() | 判断元素是否在 arraylist |
indexOf() | 返回 arraylist 中元素的索引值 |
removeAll() | 删除存在于指定集合中的 arraylist 里的所有元素 |
remove() | 删除 arraylist 里的单个元素 |
isEmpty() | 判断 arraylist 是否为空 |
subList() | 截取部分 arraylist 的元素 |
toArray() | 将 arraylist 转换为数组 |
toString() | 将 arraylist 转换为字符串 |
ensureCapacity() | 设置指定容量大小的 arraylist |
lastIndexOf() | 返回指定元素在 arraylist 中最后一次出现的位置 |
retainAll() | 保留 arraylist 中在指定集合中也存在的那些元素 |
containsAll() | 查看 arraylist 是否包含指定集合中的所有元素 |
trimToSize() | 将 arraylist 中的容量调整为数组中的元素个数 |
removeRange() | 删除 arraylist 中指定索引之间存在的元素 |
replaceAll() | 将给定的操作内容替换掉数组中每一个元素 |
removeIf() | 删除所有满足特定条件的 arraylist 元素 |
forEach() | 遍历 arraylist 中每一个元素并执行特定操作 |