摘要:單元測(cè)試偶然發(fā)現(xiàn)的一個(gè)問題顯式指定了大小判等失敗可見如果顯式指定了容器大小會(huì)影響的索引。
單元測(cè)試偶然發(fā)現(xiàn)的Map一個(gè)問題
Mapmap1 = new HashMap<>(); map1.put("aaa", "foo"); map1.put("bbb", "bar"); map1.put("ccc", "foobar"); System.out.println(map1); // {aaa=foo, ccc=foobar, bbb=bar} Map map2 = new HashMap<>(map1); assertEquals(map1.values().toArray(new String[]{}), map2.values().toArray(new String[]{})); System.out.println(map2); // {aaa=foo, ccc=foobar, bbb=bar} Map map3 = new HashMap<>(3); //顯式指定了大小 map3.putAll(map1); System.out.println(map3); // {bbb=bar, ccc=foobar, aaa=foo} assertEquals(map1.values().toArray(new String[]{}), map3.values().toArray(new String[]{})); // 判等失敗
可見如果顯式指定了map容器大小 會(huì)影響key的索引。如下所示
默認(rèn)大小key | index |
---|---|
aaa | 3 |
ccc | 10 |
bbb | 14 |
key | index |
---|---|
aaa | 3 |
ccc | 2 |
bbb | 2 |
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/65111.html
摘要:說一說迭代器通過集合對(duì)象獲取其對(duì)應(yīng)的對(duì)象判斷是否存在下一個(gè)元素取出該元素并將迭代器對(duì)象指向下一個(gè)元素取出元素的方式迭代器。對(duì)于使用容器者而言,具體的實(shí)現(xiàn)不重要,只要通過容器獲取到該實(shí)現(xiàn)的迭代器的對(duì)象即可,也就是方法。 前言 歡迎關(guān)注微信公眾號(hào):Coder編程獲取最新原創(chuàng)技術(shù)文章和相關(guān)免費(fèi)學(xué)習(xí)資料,隨時(shí)隨地學(xué)習(xí)技術(shù)知識(shí)!** 本章主要介紹Collection集合相關(guān)知識(shí),結(jié)合面試中會(huì)提到...
摘要:集合框架重點(diǎn)理解用于存儲(chǔ)數(shù)據(jù)的容器。集合容器在不斷向上抽取過程中。出現(xiàn)了集合體系。,刪除將集合中的元素全刪除,清空集合。刪除集合中指定的對(duì)象。注意刪除成功,集合的長度會(huì)改變。作用用于取集合中的元素。是集合特有的迭代器。是單列集合是雙列集合 集合框架(重點(diǎn)理解):用于存儲(chǔ)數(shù)據(jù)的容器。特點(diǎn):1:對(duì)象封裝數(shù)據(jù),對(duì)象多了也需要存儲(chǔ)。集合用于存儲(chǔ)對(duì)象。2:對(duì)象的個(gè)數(shù)確定可以使用數(shù)組,但是不確定怎...
摘要:中的集合稱為單列集合,中的集合稱為雙列集合。洗牌通過數(shù)字完成洗牌發(fā)牌發(fā)牌將每個(gè)人以及底牌設(shè)計(jì)為將最后張牌直接存放于底牌,剩余牌通過對(duì)取模依次發(fā)牌。存放的過程中要求數(shù)字大小與斗地主規(guī)則的大小對(duì)應(yīng)。 01Map集合概述 A:Map集合概述: 我們通過查看Map接口描述,發(fā)現(xiàn)Map接口下的集合與Collection接口下的集合,它們存儲(chǔ)數(shù)據(jù)的形式不同 ? a:Collection中的集...
摘要:這樣做的目的是提高取對(duì)象的效率。在單線程情況下效率較高在的多線程情況下,同步操作能保證程序執(zhí)行的正確性。 突然發(fā)現(xiàn)整理了很多筆記,應(yīng)該放這里做備用 Hashtable和HashMap 主要區(qū)別:線程安全性,同步(synchronization),以及速度。 HashMap幾乎可以等價(jià)于Hashtable,除了HashMap是非synchronized的,并可以接受null。Hashta...
摘要:加載因子是哈希表在其容量自動(dòng)增加之前可以達(dá)到多滿的一種尺度。當(dāng)哈希表中的條目數(shù)超出了加載因子與當(dāng)前容量的乘積時(shí),則要對(duì)該哈希表進(jìn)行操作即重建內(nèi)部數(shù)據(jù)結(jié)構(gòu),從而哈希表將具有大約兩倍的桶數(shù)。成員變量每個(gè)對(duì)由封裝,存在了對(duì)象數(shù)組中。 雖是讀書筆記,但是如轉(zhuǎn)載請(qǐng)注明出處 http://segmentfault.com/blog/exploring/ .. 拒絕伸手復(fù)制黨 LinkedLis...
閱讀 1746·2021-11-02 14:42
閱讀 588·2021-10-18 13:24
閱讀 1102·2021-10-12 10:12
閱讀 1891·2021-09-02 15:41
閱讀 3294·2019-08-30 15:56
閱讀 2931·2019-08-29 16:09
閱讀 2117·2019-08-29 11:13
閱讀 3690·2019-08-28 18:06