建立列表

給你的清單一個型別

要建立列表,你需要一個型別(任何類,例如 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);