<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>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # Java `EnumMap`示例 > 原文: [https://javatutorial.net/java-enummap-example](https://javatutorial.net/java-enummap-example) `EnumMap`類實現[`Map`](https://docs.oracle.com/javase/7/docs/api/java/util/Map.html)類,并允許使用枚舉類型的鍵。 枚舉映射按其鍵的自然順序進行維護。 重要的是要注意不允許使用空鍵。 如果嘗試添加空鍵,則將拋出[`NullPointerException`](https://docs.oracle.com/javase/7/docs/api/java/lang/NullPointerException.html) 。 ![java-featured-image](https://img.kancloud.cn/05/3e/053ee0bb59842d92359246c98f815e0c_780x330.jpg) 但是,即使不允許`null`鍵,也允許`null`值。 由于所有可能的密鑰都是預先已知的,因此可以更快地進行哈希計算。 * `EnumMap`不同步。 * `EnumMap`比[`HashMap`](https://javatutorial.net/java-hashmap-example)快得多 ## `EnumMap`圖 ![EnumMap Inheritance diagram](https://img.kancloud.cn/eb/b5/ebb5f5511bb42685a6a912e584011481_286x379.jpg) `EnumMap`繼承圖 ## `EnumMap`中的構造方法 1. `EnumMap(Class<K> keyType)`:使用指定的密鑰類型創建一個空的枚舉映射。 2. `EnumMap(EnumMap<K, ? extends V> m)`:創建一個與指定枚舉圖具有相同鍵類型的枚舉圖,最初包含相同的映射(如果有)。 3. `EnumMap(Map<K, ? extends V> m)`:創建一個從指定映射初始化的枚舉映射。 ## `EnumMap`中的方法 1. `void clear()`:從此映射中刪除所有映射。 2. `EnumMap<K, V> clone()`:返回一個`EnumMap`,它表示另一個副本。 3. `boolean containsKey(Object key)`:如果當前映射包含指定的鍵,則返回 true,否則返回 false。 4. `boolean containsValue(Object value)`:如果當前映射包含指定值,則返回 true,否則返回 false。 5. `boolean equals(Object o)`:比較指定對象與當前映射是否相等。 6. `V get(Object key)`:返回指定鍵所映射到的值;如果鍵不包含任何值,則返回 null。 7. `int hashCode()`:返回當前地圖的哈希碼。 8. `V put(K key, V value)`:將指定的值映射到指定的鍵。 9. `V remove(Object key)`:從地圖上移除指定的鍵。 10. `int size()`:返回地圖中的對數。 有關所有方法的文檔,請訪問 [Oracle 官方文檔頁面](https://docs.oracle.com/javase/7/docs/api/java/util/EnumMap.html)。 ### 一個程序中某些方法的示例 ```java import java.util.EnumMap; public class EnumMapExample { public enum Hardware { MONITOR, MOUSE, KEYBOARD; } public static void main(String args[]) { EnumMap<Hardware, String> hardwareMapInstance = new EnumMap<Hardware, String>(Hardware.class); /* hardwareMapInstance is empty. Let's populate it. */ hardwareMapInstance.put(Hardware.MONITOR, "Samsung"); hardwareMapInstance.put(Hardware.MOUSE, "Logitech g403"); hardwareMapInstance.put(Hardware.KEYBOARD, "Razer"); /* After having put items, let's see the map size. */ System.out.println("Size: " + hardwareMapInstance.size()); // we could use .size() to loop through an enummap /* This would print the EnumMap in natural order. (MONITOR => MOUSE => KEYBOARD) */ System.out.println("EnumMap: " + hardwareMapInstance); /* Getting a specific value from an EnumMap. */ System.out.println("Key: " + Hardware.MONITOR +" Value: " + hardwareMapInstance.get(Hardware.MONITOR)); /* Checking if the EnumMap contains a particular key. */ System.out.println("Does Hardware has " + Hardware.MOUSE + ": " + hardwareMapInstance.containsKey(Hardware.MOUSE)); /* Checking if EnumMap contains a particular value */ System.out.println("Does Hardware has " + Hardware.KEYBOARD + " : " + hardwareMapInstance.containsValue("Razer")); /* Let's clear the EnumMap */ System.out.println("Clearing the map..."); hardwareMapInstance.clear(); /* Let's get the size now again */ System.out.println("The size after clear() is: " + hardwareMapInstance.size()); } } ``` **輸出**: ```java Size: 3 EnumMap: {MONITOR=Samsung, MOUSE=Logitech g403, KEYBOARD=Razer} Key: MONITOR Value: Samsung Does Hardware has MOUSE: true Does Hardware has KEYBOARD : true Clearing the map... The size after clear() is: 0 ```
                  <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>

                              哎呀哎呀视频在线观看