java - HashMap的key值不允许重复问题
高洛峰
高洛峰 2017-04-18 10:43:24
0
2
892
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

membalas semua(2)
Peter_Zhu

Adalah disyorkan agar anda melihat prinsip Peta
Apabila peta menyimpan nilai, ia tidak menggunakan alamat objek, tetapi kod cincang objek
Anda mula-mula meletakkan p1 sebagai kunci ke dalam peta,
dan kemudian Apabila nilai p1 ditukar, kod cincang p1 telah berubah Apabila ia disimpan semula, peta menganggap ia adalah kunci yang berbeza, jadi ia menyimpannya.

洪涛

Berikut ialah pelaksanaan dalaman HashMap.put

public V put(K key, V value) {
    return putVal(hash(key), key, value, false, true);
}

Selepas p1.setAge(5), kod cincang p1 berubah dan cincang(kunci) dalam fungsi di atas berubah Walaupun kunci adalah objek yang sama, HashMap masih menyimpannya sebagai kunci baharu.

Atas sebab kecekapan, senario ini tidak disokong. Ia boleh dianggap sebagai perangkap HashMap.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan