HashMap 的keySet屬性,它存的是該map 中的key,但是我跟蹤了兩遍原始碼,也沒查出到底是什么時候往里面存值的?執行存值的原始碼在哪里?有哪位網友幫忙解答一下呀?
uj5u.com熱心網友回復:
你把put方法好好看看,根據key做hash找到插入的位置,然后插入前和該位置對應的鏈表的每個資料進行比較是否有該值,有就覆寫,沒有就在尾部插入(1.8是在尾部)uj5u.com熱心網友回復:
你看一下父類呢uj5u.com熱心網友回復:
keySet和entrySet和values實作方式是相同的,這三個set并不會顯式的往里添加值,他們都繼承了AbstractSet類,實際上他們并不存值,你看下他們的iterator方法里的實作就知道了。簡單的說就是說你用keySet迭代取到的值并不是keySet里面保存的,而是從map中獲取的轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/236709.html
標籤:Java EE
上一篇:try中sql執行順序
下一篇:更新部分成功,部分失敗
