中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java map

發布時間:2020-08-13 15:50:02 來源:ITPUB博客 閱讀:157 作者:wangzh3 欄目:編程語言

java.util 最常用的集合類之一是Map ,map提供了一個通用的元素存儲方法。 Map 集合類用于存儲元素對(稱作“鍵”和“值”),其中每個鍵映射到一個值。常用到的有hashmap和hashtable。

[@more@]Map 的接口和方法

覆蓋的方法。 我們將這 Object 的這兩個方法覆蓋,以正確比較 Map 對象的等價性。

equals(Object o)比較指定對象與此 Map 的等價性
hashCode()返回此 Map 的哈希碼

其他方法

clear()從 Map 中刪除所有映射
remove(Object key)從 Map 中刪除鍵和關聯的值
put(Object key, Object value)將指定值與指定鍵相關聯
clear()從 Map 中刪除所有映射
putAll(Map t)將指定 Map 中的所有映射復制到此 map

如果我們使用putAll,則map可以自動擴展大小。如果使用put,建議在創建map的時候使用loadfactor自動擴展以提高效率。

查看 Map

  • 所有鍵值對 — 參見 entrySet()
  • 所有鍵 — 參見 keySet()
  • 所有值 — 參見 values()
  • 訪問元素

    檢索有關 Map 內容的信息但不更改 Map 內容。

    get(Object key)返回與指定鍵關聯的值
    containsKey(Object key)如果 Map 包含指定鍵的映射,則返回 true
    containsValue(Object value)如果此 Map 將一個或多個鍵映射到指定值,則返回 true
    isEmpty()如果 Map 不包含鍵-值映射,則返回 true
    size()返回 Map 中的鍵-值映射的數目

    key唯一但是value不一定唯一,所以使用containsValue的時候可能效率會較低。

    hash技術

    int hashvalue = (key.hashCode() & 0x7FFFFFFF) % table.length;
    需要考慮和處理hash collision,如果是使用已有的則不需要考慮,如果自己實現hashmap,
    則需要考慮和處理對應的case。
    效率問題:之前使用的時候簡單創建,基本上都沒有初始化大小和負載因子,現在看了一下
    jdk的help才發現有這兩個參數可以在很多時候提高性能。
    在創建map的時候建議使用
    Map userMap = new HashMap();
    來替代
    HashMap userMap = new HashMap();
    這也符合設計模式或者面向對象的理論,只要實現了相同的接口和方法
    只需要在這個創建的地方修改,使用不同的類來創建,其他的調用代碼則無須修改。
    
    
     
    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    历史| 马关县| 平武县| 大同市| 定兴县| 毕节市| 临邑县| 夏邑县| 沈阳市| 万安县| 乌拉特后旗| 巴林左旗| 南丹县| 镶黄旗| 修水县| 定结县| 寿宁县| 铜山县| 莆田市| 北流市| 平原县| 淄博市| 清新县| 淮阳县| 绥宁县| 平潭县| 长海县| 武邑县| 汤原县| 三都| 金沙县| 江山市| 卢湾区| 布尔津县| 峨眉山市| 海南省| 塔河县| 化隆| 百色市| 凤阳县| 丘北县|