HashMap中key为null时存到哪里去了
来源:互联网 发布:国产女装品牌知乎 编辑:程序博客网 时间:2024/05/30 04:26
hashMap是根据key的hashCode来寻找存放位置的,那当key为null时, 怎么存储呢?
在put方法里头,其实第一行就处理了key=null的情况。
if (key == null) return putForNullKey(value); //那就看看这个putForNullKey是怎么处理的吧。 private V putForNullKey(V value) { for (Entry<K,V> e = table[0]; e != null; e = e.next) { if (e.key == null) { V oldValue = e.value; e.value = value; e.recordAccess(this); return oldValue; } } modCount++; addEntry(0, null, value, 0); return null; }可以看到,前面那个for循环,是在talbe[0]链表中查找key为null的元素,如果找到,则将value重新赋值给这个元素的value,并返回原来的value。
如果上面for循环没找到则将这个元素添加到talbe[0]链表的表头。
转载地址:http://blog.csdn.net/guogaoan/article/details/38385543
阅读全文
0 0
- HashMap中key为null时存到哪里去了
- HashMap 中插入null key 的过程
- 看看源码怎么处理,Java中Hashtable,Hashmap,ConcurrentHashMap,Key Value为null时
- 说好的数据去哪里了(java-HashSet-HashMap)
- HashMap、HashTable的key和value是否可为null
- Hashtable/HashMap与key/value为null的关系
- HashMap、HashTable的key和value是否可为null
- Hashtable/HashMap与key/value为null的关系
- Java Hashmap Key/Value均可为null, HashTable均不能为null
- HashMap中插入null key的过程分析
- HashMap中插入null key的过程分析
- 【Java面试题】HashMap中插入null key的过程
- 土拨鼠哪里去了?
- 一元去哪里了
- 文件哪里去了
- 城管去哪里了?
- 文章去哪里了
- skbuff_head_cache去哪里了
- 使用Thrift的网络框架搭建一般性网络应用
- 阅读笔记_《effective-csharp》
- Python MySQLdb连接数据库的应用
- iOS 10 的适配问题
- 理论---<url pattern> 匹配规则
- HashMap中key为null时存到哪里去了
- 勒索病毒防护方案
- Linux 下wifi 驱动开发(四)—— USB接口WiFi驱动浅析
- WebView使用详解
- 修改VS2008(vc)中工程/解决方案/类的名字
- UISegmentedControl使用最详细的解析
- 达达-高性能服务端优化之路
- NSAttributedString用法
- Service与Activity交互之IPC