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