javamap

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

成都創(chuàng)新互聯(lián)公司專(zhuān)注于汪清網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供汪清營(yíng)銷(xiāo)型網(wǎng)站建設(shè),汪清網(wǎng)站制作、汪清網(wǎng)頁(yè)設(shè)計(jì)、汪清網(wǎng)站官網(wǎng)定制、小程序制作服務(wù),打造汪清網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供汪清網(wǎng)站排名全網(wǎng)營(yíng)銷(xiāo)落地服務(wù)。

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

覆蓋的方法。 我們將這 Object 的這兩個(gè)方法覆蓋,以正確比較 Map 對(duì)象的等價(jià)性。

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

其他方法

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

如果我們使用putAll,則map可以自動(dòng)擴(kuò)展大小。如果使用put,建議在創(chuàng)建map的時(shí)候使用loadfactor自動(dòng)擴(kuò)展以提高效率。

查看 Map

  • 所有鍵值對(duì) — 參見(jiàn) entrySet()
  • 所有鍵 — 參見(jiàn) keySet()
  • 所有值 — 參見(jiàn) values()
  • 訪問(wèn)元素

    檢索有關(guān) Map 內(nèi)容的信息但不更改 Map 內(nèi)容。

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

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

    hash技術(shù)

    int hashvalue = (key.hashCode() & 0x7FFFFFFF) % table.length;
    需要考慮和處理hash collision,如果是使用已有的則不需要考慮,如果自己實(shí)現(xiàn)hashmap,
    則需要考慮和處理對(duì)應(yīng)的case。
    效率問(wèn)題:之前使用的時(shí)候簡(jiǎn)單創(chuàng)建,基本上都沒(méi)有初始化大小和負(fù)載因子,現(xiàn)在看了一下
    jdk的help才發(fā)現(xiàn)有這兩個(gè)參數(shù)可以在很多時(shí)候提高性能。
    在創(chuàng)建map的時(shí)候建議使用
    Map userMap = new HashMap();
    來(lái)替代
    HashMap userMap = new HashMap();
    這也符合設(shè)計(jì)模式或者面向?qū)ο蟮睦碚摚灰獙?shí)現(xiàn)了相同的接口和方法
    只需要在這個(gè)創(chuàng)建的地方修改,使用不同的類(lèi)來(lái)創(chuàng)建,其他的調(diào)用代碼則無(wú)須修改。
     

    名稱(chēng)欄目:javamap
    當(dāng)前URL:http://bm7419.com/article14/ijhcde.html

    成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)企業(yè)建站、ChatGPT、面包屑導(dǎo)航定制網(wǎng)站

    廣告

    聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

    網(wǎng)站優(yōu)化排名