一、ArrayList概述
ArrayList是Java中最常用的动态数组,是基于Object[]数组实现的,可动态加减元素。提供了快速的访问和随机访问一个元素的功能。ArrayList是非线程安全的,意味着在多线程的情况下可能存在并发问题。
二、ArrayList用法
2.1 创建ArrayList对象
ArrayListlist = new ArrayList (); // 声明一个Integer型的ArrayList ArrayList stringList = new ArrayList (); // 声明一个String型的ArrayList
2.2 添加元素
list.add(1); // 在列表末尾添加元素1 list.add(2); // 在列表末尾添加元素2 list.add(1, 3); // 在列表第1个位置插入元素3 stringList.add("a"); // 在列表末尾添加字符串"a"
2.3 获取元素
int a = list.get(0); // 获取列表第1个元素 String b = stringList.get(0); // 获取列表第1个元素
2.4 修改元素
list.set(0, 4); // 修改列表第1个元素为4 stringList.set(0, "b"); // 修改列表第1个元素为"b"
2.5 删除元素
list.remove(1); // 删除列表第2个元素 stringList.remove("b"); // 删除列表中字符串"b"
三、ArrayList常用操作
3.1 获取ArrayList长度
int length = list.size(); // 获取列表长度
3.2 判断ArrayList是否为空
boolean isEmpty = list.isEmpty(); // 判断列表是否为空
3.3 清空ArrayList
list.clear(); // 清空列表
四、ArrayList性能
4.1 ArrayList的优势
ArrayList底层以数组实现,因此在元素随机读取方面拥有出色的性能,可以通过索引直接访问元素。同时ArrayList可以无限扩展,所以在进行元素的插入和删除操作时,相比较于LinkedList,ArrayList具有更好的效率。
4.2 ArrayList的劣势
虽然ArrayList在元素随机读取方面拥有出色的性能,但在元素的插入和删除方面,其性能不如LinkedList。插入和删除元素时,需要进行大量的数组拷贝操作,因此ArrayList的效率比较低。
五、示例代码
import java.util.ArrayList; import java.util.List; public class ArrayListDemo { public static void main(String[] args) { Listlist = new ArrayList (); // 创建一个String型的ArrayList list.add("a"); // 在列表末尾添加字符串"a" list.add("b"); // 在列表末尾添加字符串"b" list.add("c"); // 在列表末尾添加字符串"c" list.add(1, "d"); // 在列表第2个位置插入字符串"d" System.out.println(list.get(2)); // 获取列表第3个元素,输出c list.set(1, "e"); // 修改列表第2个元素为"e" list.remove("a"); // 删除列表中字符串"a" System.out.println(list.size()); // 获取列表长度,输出3 list.clear(); // 清空列表 } }