以簡潔明了的方式用特定的鍵值對初始化 Java HashMap 對於開發人員來說是一個難以捉摸的功能。然而,Java 的進步為簡化地圖創建鋪平了道路。
從Java 版本9 開始,Map 類別引入了簡化地圖創建的工廠方法:
Map.of:可以建立最多包含使用簡潔語法的10個元素:
Map<String, String> test1 = Map.of("a", "b", "c", "d");
Map.ofEntries:使用任意數量的元素創建地圖:
import static java.util.Map.entry; Map<String, String> test2 = Map.ofEntries( entry("a", "b"), entry("c", "d") );
但是,需要注意的是,這些方法會產生不可變的映射。對於可變映射,您可以使用以下命令建立副本:
mutableMap = new HashMap<>(Map.of("a", "b"));
在 Java 9 之前,不支援直接文字初始化。為了達到類似的效果,您可以採用以下技術:
帶有初始化器的匿名類別:定義匿名子類,在其建構函式中初始化映射:
Map<String, String> myMap = new HashMap<String, String>() {{ put("a", "b"); put("c", "d"); }};
函數初始化:建立一個函數來產生映射並在初始化器中使用它:
Map<String, String> myMap = createMap(); private static Map<String,String> createMap() { Map<String,String> myMap = new HashMap<String,String>(); myMap.put("a", "b"); myMap.put("c", "d"); return myMap; }
後一種方法更乾淨,避免了與匿名子類別相關的任何潛在陷阱。
以上是如何在Java中有效率地初始化HashMap?的詳細內容。更多資訊請關注PHP中文網其他相關文章!