Java ArrayList

Java ArrayList

ArrayList 类是一个可调整大小的数组,它在 java.util 包中。

Java 中内置数组和 ArrayList 之间的区别在于,数组的大小不能修改(如果要在数组中添加或删除元素,必须创建一个新的数组)。而元素可以随时从 ArrayList 中添加和删除。语法也略有不同:

实例

创建一个名为 carsArrayList 对象,该对象将存储字符串:

  1. import java.util.ArrayList; // import the ArrayList class
  2. ArrayList<String> cars = new ArrayList<String>(); // Create an ArrayList object

如果您不明白什么是包, 可以访问本站的 Java 包教程


添加项

ArrayList 类有许多有用的方法。例如,要向 ArrayList 添加元素,请使用 add() 方法:

实例
  1. import java.util.ArrayList;
  2. public class Main {
  3. public static void main(String[] args) {
  4. ArrayList<String> cars = new ArrayList<String>();
  5. cars.add("Volvo");
  6. cars.add("BMW");
  7. cars.add("Ford");
  8. cars.add("Mazda");
  9. System.out.println(cars);
  10. }
  11. }

访问项

要访问 ArrayList 中的元素,请使用 get() 方法并参考索引号:

实例
  1. import java.util.ArrayList;
  2. public class Main {
  3. public static void main(String[] args) {
  4. ArrayList<String> cars = new ArrayList<String>();
  5. cars.add("Volvo");
  6. cars.add("BMW");
  7. cars.add("Ford");
  8. cars.add("Mazda");
  9. System.out.println(cars.get(0));
  10. }
  11. }
注意:数组索引以 0 开头:[0] 是第一个元素。[1] 是第二个元素,等等。

修改项

要修改元素,请使用 set() 方法并参考索引号:

实例
  1. import java.util.ArrayList;
  2. public class Main {
  3. public static void main(String[] args) {
  4. ArrayList<String> cars = new ArrayList<String>();
  5. cars.add("Volvo");
  6. cars.add("BMW");
  7. cars.add("Ford");
  8. cars.add("Mazda");
  9. cars.set(0, "Opel");
  10. System.out.println(cars);
  11. }
  12. }

移除项

要删除元素,请使用 remove() 方法并参考索引号:

实例
  1. import java.util.ArrayList;
  2. public class Main {
  3. public static void main(String[] args) {
  4. ArrayList<String> cars = new ArrayList<String>();
  5. cars.add("Volvo");
  6. cars.add("BMW");
  7. cars.add("Ford");
  8. cars.add("Mazda");
  9. cars.remove(0);
  10. System.out.println(cars);
  11. }
  12. }

要删除 ArrayList 中的所有元素,请使用 clear() 方法:

实例
  1. import java.util.ArrayList;
  2. public class Main {
  3. public static void main(String[] args) {
  4. ArrayList<String> cars = new ArrayList<String>();
  5. cars.add("Volvo");
  6. cars.add("BMW");
  7. cars.add("Ford");
  8. cars.add("Mazda");
  9. cars.clear();
  10. System.out.println(cars);
  11. }
  12. }

ArrayList 大小

要查询 ArrayList 有多少个元素,请使用 size 方法:

实例
  1. import java.util.ArrayList;
  2. public class Main {
  3. public static void main(String[] args) {
  4. ArrayList<String> cars = new ArrayList<String>();
  5. cars.add("Volvo");
  6. cars.add("BMW");
  7. cars.add("Ford");
  8. cars.add("Mazda");
  9. System.out.println(cars.size());
  10. }
  11. }

循环遍历 ArrayList

使用 for 循环遍历 ArrayList 的元素,并使用 size() 方法指定循环应运行的次数:

实例
  1. import java.util.ArrayList;
  2. public class Main {
  3. public static void main(String[] args) {
  4. ArrayList<String> cars = new ArrayList<String>();
  5. cars.add("Volvo");
  6. cars.add("BMW");
  7. cars.add("Ford");
  8. cars.add("Mazda");
  9. for (int i = 0; i < cars.size(); i++) {
  10. System.out.println(cars.get(i));
  11. }
  12. }
  13. }

您还可以使用 for-each 循环遍历 ArrayList:

实例
  1. import java.util.ArrayList;
  2. public class Main {
  3. public static void main(String[] args) {
  4. ArrayList<String> cars = new ArrayList<String>();
  5. cars.add("Volvo");
  6. cars.add("BMW");
  7. cars.add("Ford");
  8. cars.add("Mazda");
  9. for (String i : cars) {
  10. System.out.println(i);
  11. }
  12. }
  13. }

其他类型

ArrayList 中的元素实际上是对象。在上面的例子中,我们创建了 "String" 类型的元素(对象)。请记住,Java 中的字符串是对象(而不是基本类型)。要使用其他类型,例如 int,必须指定一个等效的包装类Integer。对于其他基本类型,使用:Boolean 表示布尔,Character 表示字符,Double 表示双精度,等等:

实例

创建用于存储数字的 ArrayList(添加 Integer 元素):

  1. import java.util.ArrayList;
  2. public class Main {
  3. public static void main(String[] args) {
  4. ArrayList<Integer> myNumbers = new ArrayList<Integer>();
  5. myNumbers.add(10);
  6. myNumbers.add(15);
  7. myNumbers.add(20);
  8. myNumbers.add(25);
  9. for (int i : myNumbers) {
  10. System.out.println(i);
  11. }
  12. }
  13. }

ArrayList 排序

java.util 包中另一个有用的类是 Collections 类,它包括 sort() 方法,用于按字母或数字顺序对列表进行排序:

实例

字符串型 ArrayList 排序:

  1. import java.util.ArrayList;
  2. import java.util.Collections;
  3. public class Main {
  4. public static void main(String[] args) {
  5. ArrayList<String> cars = new ArrayList<String>();
  6. cars.add("Volvo");
  7. cars.add("BMW");
  8. cars.add("Ford");
  9. cars.add("Mazda");
  10. Collections.sort(cars);
  11. for (String i : cars) {
  12. System.out.println(i);
  13. }
  14. }
  15. }
实例

整型 ArrayList 排序:

  1. import java.util.ArrayList;
  2. import java.util.Collections;
  3. public class Main {
  4. public static void main(String[] args) {
  5. ArrayList<Integer> myNumbers = new ArrayList<Integer>();
  6. myNumbers.add(33);
  7. myNumbers.add(15);
  8. myNumbers.add(20);
  9. myNumbers.add(34);
  10. myNumbers.add(8);
  11. myNumbers.add(12);
  12. Collections.sort(myNumbers);
  13. for (int i : myNumbers) {
  14. System.out.println(i);
  15. }
  16. }
  17. }