Java 初始化 List 的幾種方法


最常見的初始化 List 方法為:

List<String> languages = new ArrayList<>(); languages.add("Java"); languages.add("PHP"); languages.add("Python"); System.out.println(languages); 

但是實際上,我們並不會直接使用 new ArrayList 來初始化 List。

你可以使用 Guava 的 newArrayList 來直接初始化。

List<String> languages = Lists.newArrayList();

上面 2 種方法初始化的 List 是可變的,因此你可以對初始化成功的 List 進行添加和刪除。

Arrays

使用這個方法初始化的 List 是不可變的。

考慮使用下面的代碼來初始化一個 List。

List<Integer> list1 = Arrays.asList(1,2);

Arrays 是 JDK 的一個類,你可以使用這個類來初始化一個 List。

考察下面的代碼:

        List<Integer> list1 = Arrays.asList(1,2); list1.add(3); 

將會給你一個:java.lang.UnsupportedOperationException 異常。

 

 

這是一個運行時錯誤,不是編譯錯誤。

因此你在編譯的時候是不會提示的。

List

使用這個方法初始化的 List 是不可變的。

考慮使用下面的代碼來初始化一個 List。

List<Integer> list = List.of(1,2);

List 是 JDK 的一個類,你可以使用這個類來初始化一個 List。

考察下面的代碼:

        List<Integer> list1 = List.of(1,2); list1.add(3); 

將會給你一個:java.lang.UnsupportedOperationException 異常。

將不可變 List 變成可變

如果 List 是不可變的。

我們可以使用 new ArrayList<> 來包裝下就可以了

考察下面的代碼:

        List<Integer>list2 = new ArrayList<>(Arrays.asList(1,2)); list2.add(3); 

如果使用上面的代碼的話,你創建的 List 就可以是可變的了,可以對創建的 List 進行修改和刪除。

 

https://www.ossez.com/t/java-list/13915


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM