關于testModify()方法的問題
第一,想知道標注的第一處while判斷的true是什么?應該不是student==null為true吧?
第二,標注的第二處,不是說map里面key值是不可重復的嗎?不應該先remove原本key為stuID的entry對象再put一個新的嗎?
第一,想知道標注的第一處while判斷的true是什么?應該不是student==null為true吧?
第二,標注的第二處,不是說map里面key值是不可重復的嗎?不應該先remove原本key為stuID的entry對象再put一個新的嗎?
2020-03-16
舉報
2020-03-17
while中true是指永遠是true死循環,但是它的循環結束條件是break;如果判斷沒有對應學生會用continue繼續循環,循環跟student為不為null無關。?
HashMap保存數據的過程為:首先判斷key是否為null,若為null,則直接調用putForNullKey方法。若不為空則先計算key的hash值,然后根據hash值搜索在table數組中的索引位置,如果table數組在該位置處有元素,則通過比較是否存在相同的key,若存在則覆蓋原來key的value,否則將該元素保存在鏈頭(最先保存的元素放在鏈尾)。?
在這簡單來說是value被覆蓋了。
2021-06-01
第一個問題 true為死循環
第二個問題 key不可以重復,但是它會對比值,會出現覆蓋。