基本实现是Array+Linked实现的,
如果发现某个支链太长会将其变成红黑树。(才发现红黑树这个事情是1.8才加进入的。。我们以前上算法可都说过这个基本优化吧。。)
哈希值:
(key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16)
项目提交转测试之后很无聊啊。。都无聊到看JDK的技术细节了。。
另外,按接口编程时真心爽,可以屏蔽掉绝大部分技术细节,然后专注看流程,很有利于看源代码。
基本实现是Array+Linked实现的,
如果发现某个支链太长会将其变成红黑树。(才发现红黑树这个事情是1.8才加进入的。。我们以前上算法可都说过这个基本优化吧。。)
哈希值:
(key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16)
项目提交转测试之后很无聊啊。。都无聊到看JDK的技术细节了。。
另外,按接口编程时真心爽,可以屏蔽掉绝大部分技术细节,然后专注看流程,很有利于看源代码。