Java ArrayList
Java ArrayList
ArrayList
类是一个可调整大小的数组,它在 java.util
包中。
Java 中内置数组和 ArrayList
之间的区别在于,数组的大小不能修改(如果要在数组中添加或删除元素,必须创建一个新的数组)。而元素可以随时从 ArrayList
中添加和删除。语法也略有不同:
实例
创建一个名为 cars 的 ArrayList
对象,该对象将存储字符串:
import java.util.ArrayList; // import the ArrayList class
ArrayList<String> cars = new ArrayList<String>(); // Create an ArrayList object
如果您不明白什么是包, 可以访问本站的 Java 包教程。
添加项
ArrayList
类有许多有用的方法。例如,要向 ArrayList
添加元素,请使用 add()
方法:
实例
import java.util.ArrayList;
public class Main {
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()
方法并参考索引号:
实例
import java.util.ArrayList;
public class Main {
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.get(0));
}
}
修改项
要修改元素,请使用 set()
方法并参考索引号:
实例
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList<String> cars = new ArrayList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
cars.set(0, "Opel");
System.out.println(cars);
}
}
移除项
要删除元素,请使用 remove()
方法并参考索引号:
实例
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList<String> cars = new ArrayList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
cars.remove(0);
System.out.println(cars);
}
}
要删除 ArrayList
中的所有元素,请使用 clear()
方法:
实例
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList<String> cars = new ArrayList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
cars.clear();
System.out.println(cars);
}
}
ArrayList 大小
要查询 ArrayList
有多少个元素,请使用 size
方法:
实例
import java.util.ArrayList;
public class Main {
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.size());
}
}
循环遍历 ArrayList
使用 for
循环遍历 ArrayList 的元素,并使用 size()
方法指定循环应运行的次数:
实例
import java.util.ArrayList;
public class Main {
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
:
实例
import java.util.ArrayList;
public class Main {
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 Main {
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;
public class Main {
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);
for (String i : cars) {
System.out.println(i);
}
}
}
实例
整型 ArrayList 排序:
import java.util.ArrayList;
import java.util.Collections;
public class Main {
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);
for (int i : myNumbers) {
System.out.println(i);
}
}
}