集合
-
自动扩容 ,集合长度可变
-
只可以存引用数据类型,如果要存基本数据类型,需要将其转换成对应的包装类

ArrayList
定义在 java.util 下的,实现了 List 接口。ArrayList 内部以动态数组的形式存储元素,这意味着它的大小能够随着元素的添加或者移除而动态改变。
java
import java.util.ArrayList;
- 动态数组 :
ArrayList
是动态数组,它的大小能按需自动调整。 - 有序集合:它会按元素插入的顺序来存储元素,这意味着元素的顺序是可预测的。
- 允许重复元素 :
ArrayList
能够存储重复的元素。 - 可存储任意类型 :借助泛型,
ArrayList
可以存储任意类型的对象。
创建ArrayList
java
import java.util.ArrayList;
// 创建一个存储整数的 ArrayList
ArrayList<Integer> numbers = new ArrayList<>();
// 创建一个存储字符串的 ArrayList
ArrayList<String> names = new ArrayList<>();
ArrayList成员方法(增删改查)
java
package ArrayListTest;
import java.util.ArrayList;
public class ArrayListDemo2 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
//添加元素
boolean result = list.add("aaaccc");
System.out.println(result);
//删除元素
boolean result2 = list.remove("aaa");
System.out.println(result);
System.out.println(list);
//修改元素
String result3 = list.set(0,"bbb");
System.out.println(result);
System.out.println(list);
//获取指定索引的元素
String result4 = list.get(0);
System.out.println(result);
System.out.println(list);
}
}
遍历ArrayList
可以使用多种方式遍历 ArrayList,下面是几种常见的方法:
1.使用for循环
java
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
2.使用增强 for 循环
java
for (String fruit : list) {
System.out.println(fruit);
}
3.迭代器
java
import java.util.Iterator;
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
完整示例代码
以下是一个完整的 Java 示例,展示了 ArrayList
的基本操作:
java
import java.util.ArrayList;
public class ArrayListExample {
public static void main(String[] args) {
// 创建一个存储字符串的 ArrayList
ArrayList<String> fruits = new ArrayList<>();
// 添加元素
fruits.add("Apple");
fruits.add("Banana");
fruits.add("Cherry");
// 打印所有元素
System.out.println("所有水果: " + fruits);
// 访问元素
String firstFruit = fruits.get(0);
System.out.println("第一个水果: " + firstFruit);
// 修改元素
fruits.set(1, "Grape");
System.out.println("修改后的水果列表: " + fruits);
// 删除元素
fruits.remove(2);
System.out.println("删除后的水果列表: " + fruits);
// 获取元素数量
int size = fruits.size();
System.out.println("水果数量: " + size);
// 遍历元素
System.out.println("遍历水果列表:");
for (String fruit : fruits) {
System.out.println(fruit);
}
}
}