Java ArrayList 数组列表
Java ArrayList
ArrayList
类是一个可调整大小的 array 数组,可以在java.util
包中找到。
Java 中内置数组和ArrayList
的区别在于数组的大小不能修改(如果要向数组中添加或删除元素,必须创建一个新的数组)。
而可以随时从ArrayList
中添加和删除元素。语法也略有不同:
实例
创建名为cars的ArrayList
对象,该对象将存储字符串:
import java.util.ArrayList; // 导入 ArrayList 类
ArrayList<String> cars = new ArrayList<String>(); // 创建一个 ArrayList 对象
如果您不知道包是什么,请阅读我们的 Java 包 教程。
添加元素
ArrayList
类提供了很多有用的方法,添加元素到 ArrayList
可以使用 add()
方法:
实例
import java.util.ArrayList;
public class MyClass {
public static void main(String[] args) {
ArrayList<String> cars = new ArrayList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
System.out.println(cars);
}
}
访问元素
访问 ArrayList
中的元素可以使用 get()
方法:
注意: 数组索引从0开始,[0]开头是第一个元素,[1] 是第二个元素。
修改元素
如果要修改 ArrayList 中的元素可以使用 set()
方法
删除元素
如果要删除 ArrayList 中的元素可以使用 remove()
方法:
要删除 ArrayList
中的所有元素,请使用 clear()
方法:
计算大小
如果要计算 ArrayList 中的元素数量可以使用 size
方法:
遍历数组列表
我们可以使用 for
循环遍历ArrayList的元素,并使用 size()
方法指定循环应运行的次数:
实例
public class MyClass {
public static void main(String[] args) {
ArrayList<String> cars = new ArrayList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
for (int i = 0; i < cars.size(); i++) {
System.out.println(cars.get(i));
}
}
}
还可以使用for-each循环遍历ArrayList
:
实例
public class MyClass {
public static void main(String[] args) {
ArrayList<String> cars = new ArrayList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
for (String i : cars) {
System.out.println(i);
}
}
}
其他类型
ArrayList 中的元素实际上是对象。在上面的示例中,我们创建了类型为"String"的元素(对象)。
请记住,Java中的字符串是对象(而不是基元类型)。要使用其他类型,如int,必须指定一个等效的包装类:Integer
。
对于其他基本类型,请使用:Boolean
, Character
, Double
等等:
实例
创建用于存储数字的ArrayList
(添加Integer
整数类型的元素):
import java.util.ArrayList;
public class MyClass {
public static void main(String[] args) {
ArrayList<Integer> myNumbers = new ArrayList<Integer>();
myNumbers.add(10);
myNumbers.add(15);
myNumbers.add(20);
myNumbers.add(25);
for (int i : myNumbers) {
System.out.println(i);
}
}
}
ArrayList 排序
java.util
包中另一个有用的类是Collections
类,它包括用于按字母或数字顺序排序列表的sort()
方法:
实例
排序字符串类型的 ArrayList:
import java.util.ArrayList;
import java.util.Collections; // 导入 Collections 集合类
public class MyClass {
public static void main(String[] args) {
ArrayList<String> cars = new ArrayList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
Collections.sort(cars); // 排序 cars
for (String i : cars) {
System.out.println(i);
}
}
}
实例
排序整数类型的 ArrayList:
对整数的 ArrayList 进行排序:
import java.util.ArrayList;
import java.util.Collections; // 导入集合类
public class MyClass {
public static void main(String[] args) {
ArrayList<Integer> myNumbers = new ArrayList<Integer>();
myNumbers.add(33);
myNumbers.add(15);
myNumbers.add(20);
myNumbers.add(34);
myNumbers.add(8);
myNumbers.add(12);
Collections.sort(myNumbers); // 排序 myNumbers
for (int i : myNumbers) {
System.out.println(i);
}
}
}