一、集合VS数组存储数据的特点
1、长度
数组的长度是固定的
集合的长度是可变的(自动扩容)
2、存储类型
3、基本数据类型的包装类
二、ArrayList类
ArrayList
是一个可以动态调整大小的数组,它实现了List
接口。用于在列表中存储元素序列。
ArrayList
内部通过一个动态数组来存储元素,当元素数量超过当前数组容量时,ArrayList
会自动扩容,通常是将容量增加到原来的1.5倍。
2-1、 ArrayList类的创建(泛型)
从Java 5开始,ArrayList
支持泛型(Generics),这意味着你可以在创建ArrayList
时指定列表中元素的类型。
泛型的使用提高了代码的安全性和可读性,因为它允许在编译时期就检查类型错误。
public static void main(String[] args) {
// 此时我们创建的是ArrayList的对象,而ArrayList是java已经写好的一个类
// 这个类在底层做了一些处理
// 打印对象不是地址值,而是集合中存储数据内容
// 在展示的时候会拿[]把所有的数据进行包裹
ArrayList<String> arrayList = new ArrayList<>();
// []
System.out.println(arrayList);
}
2-2、ArrayList类的成员变量
示例:
import java.util.ArrayList;
public class ArrayListExample {
public static void main(String[] args) {
// 创建一个ArrayList,指定存储String类型的元素
ArrayList<String> list = new ArrayList<>();
// 向ArrayList中添加元素
list.add("Apple");
list.add("Banana");
list.add("Cherry");
// 访问ArrayList中的元素
System.out.println(list.get(1)); // 输出:Banana
// 遍历ArrayList
for (String fruit : list) {
System.out.println(fruit);
}
// 移除ArrayList中的元素
list.remove(1); // 移除索引为1的元素,即Banana
// 再次遍历ArrayList
for (String fruit : list) {
System.out.println(fruit);
}
}
}