创建列表
给你的清单一个类型
要创建列表,你需要一个类型(任何类,例如 String )。这是你的 List 的类型。List 只存储指定类型的对象。例如:
List<String> strings;
可以存储 string1,hello world!,goodbye 等,但它不能存储 9.2,但是:
List<Double> doubles;
可以存储 9.2,但不能存储 hello world!。
初始化你的清单
如果你试图在上面的列表中添加一些东西,你会得到一个 NullPointerException,因为 strings 和 doubles 都等于 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);