创建列表
给你的清单一个类型
要创建列表,你需要一个类型(任何类,例如 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);