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