创建列表

给你的清单一个类型

要创建列表,你需要一个类型(任何类,例如 String )。这是你的 List 的类型。List 只存储指定类型的对象。例如:

List<String> strings;

可以存储 string1hello world!goodbye 等,但它不能存储 9.2,但是:

List<Double> doubles;

可以存储 9.2,但不能存储 hello world!

初始化你的清单

如果你试图在上面的列表中添加一些东西,你会得到一个 NullPointerException,因为 stringsdoubles 都等于 null

初始化列表有两种方法:

选项 1:使用实现 List 的类

List 是一个接口,这意味着它没有构造函数,而是类必须覆盖的方法。ArrayList 是最常用的 List,虽然 LinkedList 也很常见。所以我们像这样初始化我们的列表:

List<String> strings = new ArrayList<String>();

要么

List<String> strings = new LinkedList<String>();

Version >= Java SE 7

从 Java SE 7 开始,你可以使用菱形运算符

List<String> strings = new ArrayList<>();

要么

List<String> strings = new LinkedList<>();

选项 2:使用 Collections 类

Collections 类提供了两种有用的方法来创建没有 List 变量的列表:

  • emptyList():返回一个空列表。
  • singletonList(T):创建类型为 T 的列表并添加指定的元素。

以及使用现有 List 填充数据的方法:

  • addAll(L, T...):将所有指定的元素添加到作为第一个参数传递的列表中。

例子:

import java.util.List;
import java.util.Collections;

List<Integer> l = Collections.emptyList();
List<Integer> l1 = Collections.singletonList(42);
Collections.addAll(l1, 1, 2, 3);