摘要:
Java 在 HashMap Key 的 Hash 值的时候用的的是自己 Object 中的 hashCode() 算法。 返回的结果是一个整数值。 如果你查看 JDK 的源代码的话,在 HashMap 类中会有下面的这个方法。 public final int hashCode() { retur 阅读全文
摘要:
散列函数(英语:Hash function)又称散列算法、哈希函数,是一种从任何一种数据中创建小的数字“指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。 该函数将数据打乱混合,重新创建一个叫做散列值(hash values,hash codes,hash sums 阅读全文
摘要:
所谓的加载因子,也叫扩容因子或者负载因子,它是用来进行扩容判断的。 假设加载因子是0.5,HashMap初始化容量是16,当HashMap中有16 * 0.5=8个元素时,HashMap就会进行扩容操作。 而HashMap中加载因子为0.75,是考虑到了性能和容量的平衡。 由加载因子的定义,可以知道 阅读全文
摘要:
HashMap 初始化默认值 HashMap 的初始化默认值是 16。 当然你也可以在 HashMap 构造的时候传入初始化的值。 HashMap 的最大值 HashMap 最大值是1 << 30。<< 这个是 Java 使用的移位操作符,运行的结果为 2^30,这个在源码的注释中已经明确说明。 首 阅读全文