首頁 > Java > java教程 > Java中如何有效率地初始化HashMap,同時考慮到不同版本的兼容性?

Java中如何有效率地初始化HashMap,同時考慮到不同版本的兼容性?

DDD
發布: 2024-12-09 08:28:10
原創
639 人瀏覽過

How Can I Efficiently Initialize HashMaps in Java, Considering Different Version Compatibility?

直接初始化 HashMap:文字方法

背景

建立 HashMap 可能需要手動新增鍵值對。此過程可能非常耗時且容易出錯。可以理解的是,開發人員尋求更簡化的方法。

Java 9 及更高版本

對於 Java 9 及以上版本,以下工廠方法簡化了映射創建:

Map.of("a", "b", "c", "d"); // Up to 10 elements
Map.ofEntries(entry("a", "b"), entry("c", "d")); // Any number of elements
登入後複製

這些方法創建不可變的地圖。對於可變映射,請複製它們:

Map mutableMap = new HashMap<>(Map.of("a", "b"));
登入後複製

Java 8 及以下

在 Java 9 之前,無法直接初始化。然而,還有其他選擇:

匿名子類(有註意事項)

Map myMap = new HashMap<String, String>() {{
    put("a", "b");
    put("c", "d");
}};
登入後複製

注意事項:

  • 引入一個額外的類,增加資源消耗。
  • 保存外部類別物件的引用,防止垃圾回收。

初始化函數

更健壯的方法,避免匿名子類別的警告:

Map myMap = createMap();

private static Map<String, String> createMap() {
    Map<String, String> myMap = new HashMap<>();
    myMap.put("a", "b");
    myMap.put("c", "d");
    return myMap;
}
登入後複製

結論

對於Java 9、使用Map.of和Map.ofEntries等工廠方法提供了最直接、最有效率的初始化方法雜湊映射。然而,對於 Java 8 及以下版本,初始化函數方法提供了一種替代方案,可以避免匿名子類別的陷阱。

以上是Java中如何有效率地初始化HashMap,同時考慮到不同版本的兼容性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板