hashMap 根据已有知识知道的

Posted 两只小蜜蜂啊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hashMap 根据已有知识知道的相关的知识,希望对你有一定的参考价值。

public V put(K key, V value) {
    //假如table为空
    if (table == EMPTY_TABLE) {
        inflateTable(threshold);
    }
    //假如键为空
    if (key == null)
        return putForNullKey(value);
    int hash = hash(key);
    int i = indexFor(hash, table.length);
    //遍历table[i]
    for (Entry<K,V> e = table[i]; e != null; e = e.next) {
        Object k;
        if (e.hash == hash && ((k = e.key) == key || key.equals(k))) {
            V oldValue = e.value;
            e.value = value;
            e.recordAccess(this);
            return oldValue;
        }
    }
    
    modCount++;
    //添加数组
    addEntry(hash, key, value, i);
    return null;
}

 

以上是关于hashMap 根据已有知识知道的的主要内容,如果未能解决你的问题,请参考以下文章

HashMap原理:哈希函数的设计

包含不同片段的HashMap(或ArrayList)

Java HashMap 知识点

HashMap 和 ConcurrentHashMap 的区别

按值排序HashMap或TreeMap [duplicate]

android小知识点代码片段