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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] ## **1 什么是Java HashMap** Java HashMap類通過使用哈希表來實現Map接口。HashMap繼承了AbstractMap類并實現Map接口。 Java HashMap要記住的核心要點: * Java HashMap類包含key-value對。 * Java HashMap類不能存儲重復數據(key不能重復)。 * Java HashMap類可以包含一個或多個null值。 * Java HashMap類是非同步的(線程不安全)。 * Java HashMap類元素是無序的。 * Java HashMap類的初始默認容量為16,負載因子為0.75。 <br> <br> ## **2 Java HashMap的層次結構** :-: ![](https://img.kancloud.cn/c3/54/c354688547120628c7e9066e7c7126cd_171x443.png) 如上圖所示,HashMap類繼承了AbstractMap類并實現了Map接口。 :-: ![](https://img.kancloud.cn/17/9d/179d1a97a9e8fedf7e9f6aeda2646387_1384x482.png) <br> <br> ## **3 Java HashMap的語法** ~~~java public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable ~~~ 基本類型對應的包裝類表如下: | 基本類型 | 引用類型 | | --- | --- | | boolean | Boolean | | byte | Byte | | short | Short | | int | Integer | | long | Long | | float | Float | | double | Double | | char | Character | HashMap 類位于 java.util 包中,使用前需要引入它,語法格式如下: ~~~ import java.util.HashMap; // 引入 HashMap 類 ~~~ <br> <br> ## **4 Java HashMap的構造方法** | 構造方法 | 描述 | | --- | --- | | HashMap() | 用于構造默認的HashMap。 | | HashMap(Map m) | 用于通過使用給定Map對象的元素來初始化HashMap。 | | HashMap(int capacity) | 用于將HashMap的容量初始化為給定的整數值。 | | HashMap(int capacity, float loadFactor) | 用于通過使用其參數來初始化HashMap的容量和負載因子。 | <br> <br> ## **5 Java HashMap的方法** | 方法 | 描述 | | --- | --- | | [void clear()]() | 用于刪除Map中的所有數據。 | | [boolean isEmpty()]() | 如果Map不包含元素,則用于返回true。 | | [Object clone()]() | 用于返回此HashMap實例的淺表副本:鍵和值本身不會被克隆。 | | [Set entrySet()]() | 用于返回Map中包含的Entry的Set集合。 | | [Set keySet()]() | 用于返回Map中所有key的Set視圖。 | | [V put]() | 用于在Map中插入一個條目。 | | [void putAll(Map map)]() | 用于在Map中插入指定的Map。 | | [V putIfAbsent(K key, V value)]() | 僅當尚未將指定值和指定鍵插入Map時,才將其插入。 | | [V remove(Object key)]() | 用于刪除指定key的條目。 | | [boolean remove(Object key, Object value)]() | 從Map中刪除具有關聯的指定鍵的指定值。 | | [V compute(K key, BiFunction remappingFunction)]() | 用于計算指定鍵及其當前映射值的Map(如果沒有當前映射,則為null)。 | | [V computeIfAbsent(K key, Function mappingFunction)]() | 如果指定的鍵尚未與值關聯(或已映射為null),則使用給定的映射函數計算它的值,除非為null,否則將其輸入到此Map中。 | | [V computeIfPresent(K key, BiFunction remappingFunction)]() | 如果指定鍵的值存在且非空,則用于給定鍵及其當前映射值的情況下計算新映射。 | | [boolean containsValue(Object value)]() | 如果Map中存在等于該值的某個值,則此方法返回true,否則返回false。 | | [boolean containsKey(Object key)]() | 如果Map中存在等于該鍵的某個鍵,則此方法返回true,否則返回false。 | | [boolean equals(Object o)]() | 用于將指定的Object與Map進行比較。 | | [void forEach(BiConsumer action)]() | 對Map中的每個條目執行給定的操作,直到所有條目都已處理或該操作引發異常為止。 | | [V get(Object key)]() | 返回根據key獲取的value對象。 | | [V getOrDefault(Object key, V defaultValue)]() | 返回根據key獲取的value對象,如果Map不包含該key的值,則返回默認值defaultValue。 | | [V merge(K key, V value, BiFunction remappingFunction)]() | 如果指定的鍵尚未與值關聯或與null關聯,請將其與給定的非null值關聯。 | | [V replace(K key, V value)]() | 將指定的值替換為指定的鍵。 | | [boolean replace(K key, V oldValue, V newValue)]() | 用指定鍵的新值替換舊值。 | | [void replaceAll(BiFunction function)]() | 用在該條目上調用給定函數的結果替換每個條目的值,直到處理完所有條目或該函數引發異常為止。 | | [Collection values()]() | 返回Map中所有value的Set集合。 | | [int size()]() | 返回Map的元素個數。 | 以下實例我們創建一個 HashMap 對象 map, 整型(Integer)的 key 和字符串(String)類型的 value: <br> <br> ## **6 Java HashMap例子:add()** ~~~java import java.util.*; class da01HashMap{ public static void main(String args[]){ HashMap<Integer,String> hm=new HashMap<Integer,String>(); System.out.println("初始化HashMap: "+hm); hm.put(100,"Eric"); hm.put(101,"Jack"); hm.put(102,"Rose"); System.out.println("執行put()方法后 "); for(Map.Entry m:hm.entrySet()){ System.out.println(m.getKey()+" "+m.getValue()); } hm.putIfAbsent(103, "Lucy"); System.out.println("執行putIfAbsent()方法后 "); for(Map.Entry m:hm.entrySet()){ System.out.println(m.getKey()+" "+m.getValue()); } HashMap<Integer,String> map=new HashMap<Integer,String>(); map.put(104,"Macy"); map.putAll(hm); System.out.println("執行putAll()方法后 "); for(Map.Entry m:map.entrySet()){ System.out.println(m.getKey()+" "+m.getValue()); } } } ~~~ **運行結果:** 初始化HashMap: {} 執行put()方法后 100 Eric 101 Jack 102 Rose 執行putIfAbsent()方法后 100 Eric 101 Jack 102 Rose 103 Lucy 執行putAll()方法后 100 Eric 101 Jack 102 Rose 103 Lucy 104 Macy <br> <br> ## **7 Java HashMap例子:remove()** ~~~java import java.util.*; class da01HashMap{ public static void main(String args[]){ HashMap<Integer,String> map=new HashMap<Integer,String>(); map.put(100,"Eric"); map.put(101,"Jack"); map.put(102,"Paul"); map.put(103, "Rose"); System.out.println("初始化HashMap: "+map); //刪除元素 map.remove(100); System.out.println("更新后: "+map); //刪除元素 map.remove(101); System.out.println("更新后: "+map); //刪除元素 map.remove(102, "Paul"); System.out.println("更新后: "+map); } } ~~~ **運行結果:** 初始化HashMap: {100=Eric, 101=Jack, 102=Paul, 103=Rose} 更新后: {101=Jack, 102=Paul, 103=Rose} 更新后: {102=Paul, 103=Rose} 更新后: {103=Rose} <br> <br> ## **8 Java HashMap例子:replace()** ~~~java import java.util.*; class da01HashMap{ public static void main(String args[]){ HashMap<Integer,String> hm=new HashMap<Integer,String>(); hm.put(100,"Eric"); hm.put(101,"Jack"); hm.put(102,"Rose"); System.out.println("初始化HashMap:"); for(Map.Entry m:hm.entrySet()) { System.out.println(m.getKey()+" "+m.getValue()); } System.out.println("更新后:"); hm.replace(102, "Rose"); for(Map.Entry m:hm.entrySet()) { System.out.println(m.getKey()+" "+m.getValue()); } System.out.println("更新后:"); hm.replace(101, "Jack", "Mark"); for(Map.Entry m:hm.entrySet()) { System.out.println(m.getKey()+" "+m.getValue()); } System.out.println("更新后:"); hm.replaceAll((k,v) -> "Lucy"); for(Map.Entry m:hm.entrySet()) { System.out.println(m.getKey()+" "+m.getValue()); } } } ~~~ **運行結果:** 初始化HashMap: 100 Eric 101 Jack 102 Rose 更新后: 100 Eric 101 Jack 102 Rose 更新后: 100 Eric 101 Mark 102 Rose 更新后: 100 Lucy 101 Lucy 102 Lucy ## **9 HashSet和HashMap的區別** HashSet僅僅包含value值,而HashMap是key-value對象(鍵和值對)
                  <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>

                              哎呀哎呀视频在线观看