摘要: 为什么排序算法的英文是 sorting 而不是 ordering。 还真没有怎么研究过这个问题,一般来说数据库中对结果进行排序我们都习惯用 Order By 这个关键字。 所有有关算法的排序都使用的是 Sort。 这个还真有点意思,然后就网上考古了下。 根据英文中的定义, Ordering 定义通常 阅读全文
posted @ 2022-12-01 05:08 huyuchengus 阅读(186) 评论(0) 推荐(0)
摘要: Hash,一般翻译做散列、杂凑,或音译为哈希。 这句话就是很多混乱的根源。 笔者还是比较时候直接使用 哈希这个翻译,或者干脆不翻译。 混乱来源 在查看很多资料的时候,经常会看到最多的一个词就是散列算法。 如果不深入追究下的话,开始的时候经常是一头雾水,其实这个所谓的散列就是我们常说的 Hash。 散 阅读全文
posted @ 2022-12-01 04:43 huyuchengus 阅读(47) 评论(0) 推荐(0)
摘要: Java 在 HashMap Key 的 Hash 值的时候用的的是自己 Object 中的 hashCode() 算法。 返回的结果是一个整数值。 如果你查看 JDK 的源代码的话,在 HashMap 类中会有下面的这个方法。 public final int hashCode() { retur 阅读全文
posted @ 2022-12-01 04:20 huyuchengus 阅读(46) 评论(0) 推荐(0)
摘要: 散列函数(英语:Hash function)又称散列算法、哈希函数,是一种从任何一种数据中创建小的数字“指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。 该函数将数据打乱混合,重新创建一个叫做散列值(hash values,hash codes,hash sums 阅读全文
posted @ 2022-12-01 03:28 huyuchengus 阅读(65) 评论(0) 推荐(0)
摘要: 所谓的加载因子,也叫扩容因子或者负载因子,它是用来进行扩容判断的。 假设加载因子是0.5,HashMap初始化容量是16,当HashMap中有16 * 0.5=8个元素时,HashMap就会进行扩容操作。 而HashMap中加载因子为0.75,是考虑到了性能和容量的平衡。 由加载因子的定义,可以知道 阅读全文
posted @ 2022-12-01 03:05 huyuchengus 阅读(528) 评论(0) 推荐(0)
摘要: HashMap 初始化默认值 HashMap 的初始化默认值是 16。 当然你也可以在 HashMap 构造的时候传入初始化的值。 HashMap 的最大值 HashMap 最大值是1 << 30。<< 这个是 Java 使用的移位操作符,运行的结果为 2^30,这个在源码的注释中已经明确说明。 首 阅读全文
posted @ 2022-12-01 01:52 huyuchengus 阅读(669) 评论(0) 推荐(0)