本文共 392 字,大约阅读时间需要 1 分钟。
这个问题答案可深可浅
散列表在不断的经过put()方法添加元素时 当指定长度的散列表达到扩容阈值 就要进行扩容的操作 如果不扩容 那么无法再往集合中添加元素 同时数据量达到一定程度还不扩容也会让HashMap的时间复杂的从O(1)-->O(n)
而扩容之后会让时间复杂度从O(n)-->O(logn)
所以说扩容是很有必要的 但是扩容同时也带来两个问题 何时扩容? 怎样扩容? 这两个问题进入代码来解析 一样的 看源码之前先看常量有哪些 @SuppressWarnings({"rawtypes,"unchecked""})
这个注解的作用是屏蔽一些无关紧要的警告
转载地址:http://cyhrb.baihongyu.com/