<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # Java `HashMap`內聯初始化 > 原文: [https://javatutorial.net/java-hashmap-inline-initialization](https://javatutorial.net/java-hashmap-inline-initialization) 下面的示例演示如何使用標準方法和內聯方法初始化 Java [HashMap](https://javatutorial.net/java-hashmap-example) 。 ## 為什么我們需要直接初始化[`HashMap`](https://javatutorial.net/java-hashmap-example) ? 盡管`Map`被廣泛用于以動態方式收集和處理數據,但通常您需要創建一個帶有預定義鍵和值的小映射,以測試一種簡短的算法或您正在研究的概念。 手動初始化 Java `HashMap`的另一個用例是測試程序或算法如何使用特定值執行。 在編寫簡短的演示程序時,您很可能更愿意直接初始化映射,而不是從文件或某種流中讀取數據并用值填充映射。 您可以想象,與單行`HashMap`初始化相比,您需要花費更多的精力。 ![](https://img.kancloud.cn/2f/6f/2f6f6010a0f3b21f930142d5b0ca7d8f_780x330.jpg) Java 初始化`HashMap` ## 初始化`HashMap`的必要方法 直接的解決方案是聲明一個`Map`,然后只需`put()`進入`Map`。 我們將使用此示例作為參考,以與其他更節省類型的技術進行比較。 ```java Map<String,String> mymap = new HashMap<String, String>(); test.put("A","one"); test.put("B","two"); ``` 如您在上面的示例中看到的,首先創建一個映射對象,然后在其中放置條目。 這里要提到的另一重要事項是,通過使用此方法,您可以創建動態映射,并且可以編輯,刪除或創建新條目。 ## 使用匿名子類初始化`HashMap` 這將創建`HashMap`的匿名子類,其實例初始化程序將這些值放入。 換句話說,它將創建一個繼承自`HashMap`的新類。 這是創建和初始化動態`HashMap`的最短方法 ```java Map<Integer, String> mymap = new HashMap<Integer, String>() { { put(1, "one"); put(2, "two"); } }; ``` ## 初始化不可變映射 與動態映射(如上例所示)相比,不可變映射是不可編輯的。 這意味著您不能在其中添加新條目,刪除條目或更新它們。 如果您想測試一個簡單的算法,它們將對您很好。 ## 在 Java SE 8 和更早版本中初始化不可變映射 以下示例演示了如何在 Java 8 或更早版本的 Java 中初始化不可變`Map`: ```java Map<Integer,String> mymap = new HashMap<>(); mymap.put(1,"one"); mymap.put(2,"two"); mymap.put(3,"three"); Map<Integer,String> immutableMap = Collections.unmodifiableMap(mymap); ``` 如您所見,您以老式方式創建和初始化`Map`。 使映射不可變的原因是對`Collections.unmodifiableMap(Map map)`的調用。 好吧,它看起來不太像內聯初始化。 不用擔心,下一個示例可以。 ## 以 Guava 方式內聯初始化`HashMap` [Guava](https://github.com/google/guava) 是第一個引入真正的單行`Map`初始化的人。 參見下面的例子 ```java Map<String, Integer> left = ImmutableMap.of("a", 1, "b", 2, "c", 3); ``` ## 用 Java 9 方式內聯初始化`HashMap` 最后,在 Java 9 中,我們可以使用單行語句來初始化不可變的`HashMap`,而無需第三方庫。 ```java Map<Integer,String> map = Map.of(1, "A", 2, "B", 3, "C"); ``` 您可能需要閱讀完整的 [Java 9 不可變映射示例](https://javatutorial.net/java-9-immutable-map-example),以了解更多詳細信息。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看