Java-ArrayList
Java 数组列表
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
添加项
ArrayList 类具有许多有用的方法。例如,要将元素添加到列表中,请使用 add() 方法:
Example
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);
}
}
通过引用索引号在指定位置添加项目:
Example
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"); // Insert element at the beginning of the list (0)
System.out.println(cars);
}
}
记住: 数组索引从 0 开始:[0] 是第一个元素。[1] 是第二个元素,依此类推。
访问项目
要访问 ArrayList 中的元素,请使用 get() 方法并引用索引号:
Example
cars.get(0);
更改项目
要修改元素,请使用 set() 方法并引用索引号:
Example
cars.set(0, "Opel");
删除项目
要删除元素,请使用 remove() 方法并引用索引号:
Example
cars.remove(0);
要删除 ArrayList 中的所有元素,请使用 clear() 方法:
Example
cars.clear();
ArrayList 大小
要找出 ArrayList 有多少个元素,请使用 size 方法:
Example
cars.size();
遍历 ArrayList
使用 for 循环遍历 ArrayList 的元素,并使用 size() 方法指定循环应运行多少次:
Example 例
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:
Example
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 表示布尔值,Character 表示 char,Double 表示 double,等等:
Example
创建一个 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() 方法:
Example
对字符串的 ArrayList 进行排序:
import java.util.ArrayList;
import java.util.Collections; // Import the Collections class
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); // Sort cars
for (String i : cars) {
System.out.println(i);
}
}
}
Example
对整数的 ArrayList 进行排序:
import java.util.ArrayList;
import java.util.Collections; // Import the Collections class
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); // Sort myNumbers
for (int i : myNumbers) {
System.out.println(i);
}
}
}