设为首页 加入收藏

TOP

HashMap源码阅读与解析(二)
2018-01-02 06:06:36 】 浏览:545
Tags:HashMap 源码 阅读 解析
个方法next


如果modCount值不等于expectedModCount,表示在当前遍历过程中,HashMap可能被其他线程修改过,我们需要抛出ConcurrentModificationException异常,这也就是我们常说fast-fail。同时新建一个Entry节点e,赋值为next(第一次进来是next指向的就是table[]数组中第一个不为null的头结点)。
如果说当前节点的下一个节点为null,相当于遍历到了当前table[i]所指向链表的最后一个节点。此时我们应当去寻找table数组中下一个头结点不为null的位置。
执行while (index < t.length && (next = t[index++]) == null) 找到下一个不为null的头结点,并保存到next节点中。
返回当前节点e


到此为止,我们已经大致的介绍了HashMap数据结构put(),get(),remove()以及遍历的实现,如果错误之处,欢迎指出,共同进步!


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Java反射详解 下一篇Java并发编程之ThreadLocal源码分..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目