在 Java 中,ArrayList
是一个可调整大小的数组,属于 java.util
包。
一. ArrayList 和普通数组
1 两者区别:
- 普通数组:普通数组的大小在创建时就确定了,并且在整个程序运行期间不可改变。如果你需要增加或删除元素,必须创建一个新的数组。
- ArrayList:
ArrayList
是一个可以动态调整大小的数组。你可以随时向其中添加或删除元素,而不需要重新创建一个新的数组。
2 语法的区别:
- 普通数组:普通数组的声明和使用方式如下:
1 | int[] arr = new int[10]; // 创建一个长度为 10 的整数数组 |
- ArrayList:
ArrayList
的声明和使用方式如下:
1 | ArrayList<Integer> list = new ArrayList<>(); // 创建一个 Integer 类型的 ArrayList |
3 小总结:
ArrayList
提供了比普通数组更灵活的操作方式,能够动态增加或删除元素,且不需要手动管理数组的大小。
语法与示例
1 | import java.util.ArrayList; // 导入 ArrayList 类 |
示例
Add Items
这个类有许多有用的方法。例如,向列表中添加元素,可以使用以下方法:ArrayList add()
解释:
ArrayList
类提供了一个add()
方法,用来向列表中添加元素。add()
方法会将指定的元素添加到ArrayList
的末尾
还可以通过指定索引位置来添加元素。
1 | import java.util.ArrayList; |
输出结果:
1 | [姓名, 小明, 阿伟, 阿杰, 小李] |
记住:数组索引是从 0 开始的:[0] 是第一个元素,[1] 是第二个元素,以此类推。
记住:数组索引是从 0 开始的:[0] 是第一个元素,[1] 是第二个元素,以此类推。
记住:数组索引是从 0 开始的:[0] 是第一个元素,[1] 是第二个元素,以此类推。
项目的其他方法
1 更改
要修改一个元素,使用 set()
方法并指定索引位置
1 | cars.set(0,"原神") // 修改第一个元素 |
在上述例子中使用,会把 姓名
改成 原神
,然后开始逐个输出
2 删除
要删除一个元素,使用 remove()
方法并 指定索引位置
1 | cars.remove(0); // 删除第一个元素 |
在上述例子中使用,会把 姓名
这个元素直接删除,然后从 小明
开始逐个输出
3 删除所有元素
要移除 ArrayList
中的所有元素,使用 clear()
方法
1 | cars.clear(); // 删除所有元素,在上述使用,结果:[] |
4 查看ArrayList
中有多少个元素
要查找 ArrayList
中有多少个元素,使用 size()
方法。
1 | System.out.println(cars.size()); // 在上述例子中有 5 |
二. 循环遍历 ArrayList
使用循环遍历 ArrayList 的元素,并使用 size()
方法来指定循环应该运行多少次。
1 | import java.util.ArrayList; // 导入 ArrayList 类 |
cars.get(i)
:获取 cars
列表中索引为 i
的元素。
get()
方法用于获取指定位置的元素。
循环2
在 Java 中,也使用 for-each 循环(增强型 for 循环)来遍历 ArrayList
。
这种方式比传统的 for
循环更简洁,适用于只需要读取集合元素而不修改集合的情况。
1 | import java.util.ArrayList; // 导入 ArrayList 类 |
三. 类型的运用
在 ArrayList
中,元素实际上是对象。 在上述示例中,我们创建了类型为 String
的元素(对象)。
请记住,在 Java 中,String
是一个对象(而不是基本数据类型)。
要使用其他类型,比如 int
,你必须指定一个等效的包装类。
对于其他基本数据类型,你需要使用对应的包装类
例如:
int
的包装类是 Integerboolean
的包装类是 Booleanchar
的包装类是 Characterdouble
的包装类是 Double
1 | import java.util.ArrayList; // 导入 ArrayList 类 |
java.util.Collections.sort()
这个包中的另一个有用的类是 Collections
类,它包含用于按字母顺序或按数字顺序排序列表的方法:
例子1:字符串
1 | import java.util.ArrayList; // 导入 ArrayList 类 |
输出结果:
1 | Boy |
例子2: 数字
1 | import java.util.ArrayList; |