Java 使用什么作为 HashMap 的默认探测方法?是线性的吗?链接还是其他?
最佳答案
看起来像是对我的链接。代码:(link)
... 724 /** 725 * Create new entry. 726 */ 727 Entry(int h, K k, V v, Entry n) { 728 value = v; 729 next = n; 730 key = k; 731 hash = h; 732 } ... ... 795 void addEntry(int hash, K key, V value, int bucketIndex) { 796 Entry e = table[bucketIndex]; 797 table[bucketIndex] = new Entry(hash, key, value, e); ...
也就是说,获取 bucketIndex 处的条目,然后将其替换为一个新条目,该条目的“下一个”字段是已经存在的条目(即链接它)。
关于java - Java 中的默认 HashMap 探测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/267414/