Map添加相同的key
HashMap是的key是不能重復的,如果有相同的key,最后一個key對應的value會把前一個相同的value覆蓋掉。
如果鍵是一個對象的話,不同的對象就是不同的key
但是如果一個對象內相同的值看做是同一個對象的話就在model里面重寫HashCode()和equals()方法,map是先從key的hashcode()來決定在存入map哪個地方的哪個鏈,equals()來判斷這條鏈上是否有重復的key。
倆個model對象結果只有一個,后面的把前面的覆蓋了。
前面是鍵是對象的話,相同的key重復和不重復的倆個情況,但是如果key是String型的呢?key是不能有相同的string的,重復put相同的string,后面的會替換前面相同的key。
這里要介紹一個identityHashMap(),HashMap判斷一個key是否相同是看key1.equals(key2)來判斷,而IdentityHashMap判斷一個key是否相同那個按key1==key2。所以只要是新的對象就會有新的地址就當做不同的key,不管key 的值是否相同。