Java ArrayList

Java ArrayList

ArrayList 类是一种可调整大小的数组,可以在 java.util 包中找到。

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

实例

创建名为 carsArrayList 对象,用于存储字符串:

import java.util.ArrayList; // 导入 ArrayList 类

ArrayList<String> cars = new ArrayList<String>(); // 创建 ArrayList 对象

提示:如果您不理解是什么包,请阅读我们的 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);
  }
}

亲自试一试

您还可以通过引用索引号在指定位置添加元素:

实例

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(0, "Mazda"); // 在列表开头(索引0)插入元素
 
    System.out.println(cars);
  }
}

亲自试一试

提示:请记住,数组索引从 0 开始:[0] 是第一个元素,[1] 是第二个元素,依此类推。

访问项目

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

实例

cars.get(0);

亲自试一试

提示:请记住,数组索引从 0 开始:[0] 是第一个元素,[1] 是第二个元素,依此类推。

更改项目

如需修改元素,请使用 set() 方法并引用索引号:

实例

cars.set(0, "Opel");

亲自试一试

删除项目

如需删除元素,请使用 remove() 方法并引用索引号:

实例

cars.remove(0);

亲自试一试

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

实例

cars.clear();

亲自试一试

数组列表大小

如需找出 ArrayList 有多少个元素,请使用 size 方法:

实例

cars.size();

亲自试一试

遍历 ArrayList

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

实例

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

实例

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 中的 String 是对象(不是原始类型)。

要使用其他类型,例如 int,您必须指定等效的包装类Integer。对于其他原始类型,请使用:

  • Boolean 表示 boolean
  • Character 表示 char
  • Double 表示 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;  // 导入 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);  // 对 cars 排序
    for (String i : cars) {
      System.out.println(i);
    }
  }
}

亲自试一试

实例

对整数的 ArrayList 进行排序:

import java.util.ArrayList;
import java.util.Collections;  // 导入 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);  // 对 myNumbers 排序
    for (int i : myNumbers) {
      System.out.println(i);
    }
  }
}

亲自试一试

完整的 ArrayList 参考手册

提示:如需获得 ArrayList 方法的完整参考,请访问我们的 Java ArrayList 参考手册