2
哈希碼的類型爲int
,所以它可以是負值和正值。 但是HashMap
使用散列碼來確定表格放置鍵+值的哪個索引,如 hashcode/size_of_table = table_index
。hashmap如何處理負散列碼?
但是如何確定HashMap
應該在哪個索引中放置key + value以防hashcode爲負數?
哈希碼的類型爲int
,所以它可以是負值和正值。 但是HashMap
使用散列碼來確定表格放置鍵+值的哪個索引,如 hashcode/size_of_table = table_index
。hashmap如何處理負散列碼?
但是如何確定HashMap
應該在哪個索引中放置key + value以防hashcode爲負數?
從http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/util/HashMap.java:
static int indexFor(int h, int length) {
return h & (length-1);
}
以胡亂猜測,它不完全是一個謎。 – Kayaman