Java 9提供了工廠方法來建立不可變的清單,集合和映射。它可以用來建立空的或非空的集合物件。在Java 8和先前的版本中,我們可以使用集合類別的實用方法,如unmodifiableXXX來建立不可變的集合物件。如果我們需要建立一個不可變的列表,那麼可以使用Collections.unmodifiableList()方法。
這些工廠方法允許我們輕鬆初始化不可變的集合,無論它們是空的還是非空的。
不可變列表的初始化:
<strong>List<Integer> immutableEmptyList = List.of();</strong>
在上面的程式碼中,我們初始化了一個空的不可變的List 。
初始化不可變的集合:
<strong>Set<Integer> immutableEmptySet = Set.of();</strong>
在上面的程式碼中,我們初始化了一個空的不可變的Set 。
初始化不可變的map:
<strong>Map<Integer, Integer> immutableEmptyMap = Map.of();</strong>
In the above, we have initialized an empty, immutable Map.
import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Set; public class ImmutableCollectionTest { public static void main(String args[]) { List<String> list8 = new ArrayList<String>(); list8.add("INDIA"); list8.add("AUSTRALIA"); list8.add("ENGLAND"); list8.add("NEWZEALAND"); List<String> immutableList8 = Collections.<strong>unmodifiableList</strong>(list8); immutableList8.forEach(System.out::println); System.out.println(); List<String> immutableList = <strong>List.of</strong>("INDIA", "AUSTRALIA", "ENGLAND", "NEWZEALAND"); immutableList.forEach(System.out::println); System.out.println(); Set<String> immutableSet = <strong>Set.of</strong>("INDIA", "AUSTRALIA", "ENGLAND", "NEWZEALAND"); immutableSet.forEach(System.out::println); System.out.println(); Map<String, String> immutableMap = <strong>Map.of</strong>("INDIA", "India", "AUSTRALIA", "Australia", "ENGLAND", "England", "NEWZEALAND", "Newzealand"); immutableMap.forEach((key, value) -> System.out.println(key + " : " + value)); System.out.println(); } }
<strong>INDIA AUSTRALIA ENGLAND NEWZEALAND INDIA AUSTRALIA ENGLAND NEWZEALAND AUSTRALIA ENGLAND NEWZEALAND INDIA AUSTRALIA : Australia ENGLAND : England NEWZEALAND : Newzealand INDIA : India </strong>
以上是在Java 9中如何初始化不可變集合?的詳細內容。更多資訊請關注PHP中文網其他相關文章!