ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。
ArrayList 继承了 AbstractList ,并实现了 List 接口。
ArrayList 类位于 java.util 包中,使用前需要引入它,语法格式如下:
import java.util.ArrayList; // 引入 ArrayList 类 ArrayList<E> objectName =new ArrayList<>(); // 初始化
- E: 泛型数据类型,用于设置 objectName 的数据类型,只能为引用数据类型。
- objectName: 对象名。
ArrayList 是一个数组队列,提供了相关的添加、删除、修改、遍历等功能。
=============================================================================
==============================================================================
ArrayList 排序
Collections 类也是一个非常有用的类,位于 java.util 包中,提供的 sort() 方法可以对字符或数字列表进行排序。
以下实例对字母进行排序:
Java ArrayList 方法
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 中每一个元素并执行特定操作 |
更多 API 方法可以查看:https://www.runoob.com/manual/jdk11api/java.base/java/util/ArrayList.html
======================================================================
======================================================================
import java.util.ArrayList;
import java.util.Iterator;
public class arrayList
{
public static void main( String[] args )
{
ArrayList<String> list = new ArrayList<String>(); //存储String类型的元素
list.add("hello "); //添加元素
list.add("my ");
list.add("love!");
System.out.println(list); //打印整个集合
System.out.println("==================================");
System.out.println(list.size()); //获取集合元素个数
System.out.println("==================================");
System.out.println(list.get(0)); //获取第一个元素
System.out.println(list.get(1)); //获取第二个元素
System.out.println(list.get(2)); //获取第三个元素
System.out.println("==================================");
list.set(0,"h-e-l-l-0"); //修改第一个元素
list.set(1,"m-y"); //修改第二个元素
list.remove(2); //删除第三个元素
System.out.println(list); //打印整个集合
System.out.println("==================================");
System.out.println(list.size()); //获取集合元素个数
System.out.println("==================================");
for(int i = 0;i < list.size();i++) //遍历打印集合
{
System.out.println(list.get(i));
}
System.out.println("==================================");
ArrayList<Integer> list2 = new ArrayList<Integer>(); //存储nteger类型的元素
list2.add(1); //添加元素
list2.add(2);
list2.add(3);
System.out.println(list2); //打印整个集合
System.out.println("==================================");
System.out.println(list2.size()); //获取集合元素个数
System.out.println("==================================");
System.out.println(list2.get(0)); //获取第一个元素
System.out.println(list2.get(1)); //获取第二个元素
System.out.println(list2.get(2)); //获取第三个元素
System.out.println("==================================");
for(int i = 0;i < list2.size();i++) //遍历打印集合
{
System.out.println(list2.get(i));
}
System.out.println("==================================");
Iterator<String> it = list.iterator(); //返回集合元素顺序随机
boolean r = it.hasNext();
System.out.println(r); //true 使用迭代器的hasNext()方法判断集合中还有没有下一个元素
String str = it.next();
System.out.println(str); //使用迭代器的next()方法取出集合中下一个元素
System.out.println("==================================");
while (it.hasNext())
{
System.out.println(it.next());
}
//遍历完后,再次从迭代器取元素
boolean it2 = it.hasNext();
System.out.println(it2); //false
}
}
执行结果:
[hello , my , love!]
==================================
3
==================================
hello
my
love!
==================================
[h-e-l-l-0, m-y]
==================================
2
==================================
h-e-l-l-0
m-y
==================================
[1, 2, 3]
==================================
3
==================================
1
2
3
==================================
1
2
3
==================================
true
h-e-l-l-0
==================================
m-y
false