map初始化的兩種方法

今天在對(duì)map進(jìn)行初始化時(shí)蠢挡,查詢到一種新的初始化的方法因此做次記錄。
第一種:
平常常用的一種先new一個(gè)map,再調(diào)用map對(duì)象的put方法依次添加映射關(guān)系

Map<String,Integer> skuLimitRate = new HashMap<String,Integer>();
skuLimitRate,put("String1",1);
skuLimitRate.put("String2",2);

第二種
使用雙花括號(hào)的形式捅彻,這種形式感覺(jué)有一定程度上是類似于lambo表達(dá)式寺旺,但是又不一樣

Map<String,Integer> skuLimitRate = new HashMap<String,Integer>(){
{
put("String1",1);
put("String2",2);
}
}

從網(wǎng)上查看到有大佬對(duì)這兩種put優(yōu)劣的一種分析:

優(yōu)勢(shì) 學(xué)名叫雙花括號(hào)爷抓。雙花括號(hào)是節(jié)省效率的,MAP 自增機(jī)制對(duì)效率的影響尤為重要阻塑,以 HashMap 為例蓝撇,初始默認(rèn)空間為 16,每次自增為其兩倍陈莽,就是 16渤昌、32、64走搁、128独柑、256...,當(dāng)所用空間較少時(shí)私植,MAP 需頻繁的自我復(fù)制來(lái)進(jìn)行自增忌栅。當(dāng)使用雙花括號(hào),取 MAP 某個(gè)較大的自增臨界點(diǎn)進(jìn)行測(cè)試時(shí)曲稼,會(huì)發(fā)現(xiàn)在自增前使用 put 方法索绪,效率比在雙花括號(hào)外 put 快 1/3 左走,但當(dāng)空間增加到觸發(fā)自增時(shí)贫悄,由雙花括號(hào)內(nèi)觸發(fā)的自增效率瑞驱,比雙花括號(hào)內(nèi)觸發(fā)的自增要慢很多很多。當(dāng)所用空間較少窄坦,MAP 頻繁自增唤反,由雙花括號(hào)內(nèi)觸發(fā)的自增,損耗性能較大鸭津,當(dāng)所用空間越來(lái)越多拴袭,雙花括號(hào)內(nèi)使用 put 方法,節(jié)省性能越多曙博。若使用雙花括號(hào)當(dāng)自增達(dá)到某一臨界值時(shí),put 所節(jié)省的性能便會(huì)遠(yuǎn)遠(yuǎn)大于自增所消耗的性能怜瞒,當(dāng)然這個(gè)臨界值會(huì)很大(本人曾經(jīng)測(cè)到過(guò) put 到九千萬(wàn)父泳,性能波動(dòng)情況類似于一個(gè)在 X 軸上下波動(dòng),整體 Y 值趨勢(shì)于負(fù)增長(zhǎng)的二次元函數(shù))吴汪,所以當(dāng)所占空間較少時(shí)惠窄,使用帶有自我復(fù)制進(jìn)行自增的集合來(lái)測(cè)試雙花括號(hào)是不準(zhǔn)確的。您若用真實(shí)實(shí)體對(duì)象就輕松多了漾橙,實(shí)體對(duì)象在 JDK12 下使用雙花括號(hào)設(shè)置屬性杆融,會(huì)提升 1/3 的效率。詳細(xì)原因可以查看 JVM 原理霜运。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末脾歇,一起剝皮案震驚了整個(gè)濱河市蒋腮,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌藕各,老刑警劉巖池摧,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異激况,居然都是意外死亡作彤,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門乌逐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)竭讳,“玉大人,你說(shuō)我怎么就攤上這事浙踢【盥” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵成黄,是天一觀的道長(zhǎng)呐芥。 經(jīng)常有香客問(wèn)我,道長(zhǎng)奋岁,這世上最難降的妖魔是什么思瘟? 我笑而不...
    開(kāi)封第一講書人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮闻伶,結(jié)果婚禮上滨攻,老公的妹妹穿的比我還像新娘。我一直安慰自己蓝翰,他們只是感情好光绕,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著畜份,像睡著了一般诞帐。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上爆雹,一...
    開(kāi)封第一講書人閱讀 52,441評(píng)論 1 310
  • 那天停蕉,我揣著相機(jī)與錄音,去河邊找鬼钙态。 笑死慧起,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的册倒。 我是一名探鬼主播蚓挤,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了灿意?” 一聲冷哼從身側(cè)響起估灿,我...
    開(kāi)封第一講書人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎脾歧,沒(méi)想到半個(gè)月后甲捏,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡鞭执,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年司顿,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片兄纺。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡大溜,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出估脆,到底是詐尸還是另有隱情钦奋,我是刑警寧澤,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布疙赠,位于F島的核電站付材,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏圃阳。R本人自食惡果不足惜厌衔,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望捍岳。 院中可真熱鬧富寿,春花似錦、人聲如沸锣夹。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)银萍。三九已至变勇,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間贴唇,已是汗流浹背贰锁。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留滤蝠,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓授嘀,卻偏偏與公主長(zhǎng)得像物咳,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蹄皱,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容