码迷,mamicode.com
首页 > 其他好文 > 详细

hashMap 根据已有知识知道的

时间:2018-09-29 13:02:36      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:this   ext   pre   ble   hold   color   his   add   return   

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 根据已有知识知道的

标签:this   ext   pre   ble   hold   color   his   add   return   

原文地址:https://www.cnblogs.com/hellowzd/p/9723009.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!