简介
ArrayList 是 Java 中一个常用的集合框架类,用于存储元素的列表。二维 ArrayList 是一个 ArrayList 的 ArrayList,形成一个二维网格。有几种方法可以在 Java 中初始化二维 ArrayList。
使用嵌套 ArrayList
最简单的方法是使用嵌套 ArrayList。可以创建一个 ArrayList 来存储其他 ArrayList,从而形成二维网格。
示例:
import java.util.ArrayList;
public class Example {
public static void main(String[] args) {
// 创建一个二维 ArrayList
ArrayList<ArrayList<Integer>> grid = new ArrayList<>();
// 初始化二维 ArrayList
for (int i = 0; i < 3; i++) {
grid.add(new ArrayList<>());
for (int j = 0; j < 3; j++) {
grid.get(i).add(0);
}
}
// 打印二维 ArrayList
for (ArrayList<Integer> row : grid) {
System.out.println(row);
}
}
}
输出:
[0, 0, 0]
[0, 0, 0]
[0, 0, 0]
使用 Collections.nCopies()
Collections.nCopies()
方法可以创建包含指定元素副本的列表。可以使用它来初始化二维 ArrayList,其中每一行都包含相同数量的元素。
示例:
import java.util.ArrayList;
import java.util.Collections;
public class Example {
public static void main(String[] args) {
// 创建一个二维 ArrayList
ArrayList<ArrayList<Integer>> grid = new ArrayList<>();
// 初始化二维 ArrayList
for (int i = 0; i < 3; i++) {
grid.add(new ArrayList<>(Collections.nCopies(3, 0)));
}
// 打印二维 ArrayList
for (ArrayList<Integer> row : grid) {
System.out.println(row);
}
}
}
输出:
[0, 0, 0]
[0, 0, 0]
[0, 0, 0]
使用第三方库
还有一些第三方库可以帮助初始化二维 ArrayList。例如,Google Guava 库提供了一个 Lists.newArrayList()
方法,可以创建包含指定元素列表的列表。
示例:
import com.google.common.collect.Lists;
import java.util.ArrayList;
public class Example {
public static void main(String[] args) {
// 创建一个二维 ArrayList
ArrayList<ArrayList<Integer>> grid = new ArrayList<>();
// 初始化二维 ArrayList
for (int i = 0; i < 3; i++) {
grid.add(Lists.newArrayList(0, 0, 0));
}
// 打印二维 ArrayList
for (ArrayList<Integer> row : grid) {
System.out.println(row);
}
}
}
输出:
[0, 0, 0]
[0, 0, 0]
[0, 0, 0]
总结
有几种方法可以在 Java 中初始化二维 ArrayList:
- 使用嵌套 ArrayList。
- 使用
Collections.nCopies()
方法。 - 使用第三方库(例如 Google Guava)。
选择哪种方法取决于所需的功能、灵活性和性能。