例如,如果我正在对整数进行哈希处理,而我的哈希函数只是(n%10),则数字17和数字27将产生相同的结果。这并不意味着这些数字相同。
现在,假设n%10是我的哈希函数,我的问题是:如果我按以下顺序输入以下数字,由于数字按其哈希码排序,将如何输出这些数字?
数字:10、27、17、38、58、28、43
我认为您可能对Java中使用的hashCode()感到困惑。
排序通常不依赖equals()和hashCode()。它们用于识别平等。例如,HashSet将使用这两种方法仅标识相等性。 TreeSet还使用这两种方法来标识相等性,但是它们并不用于对元素进行排序。
排序需要一种比较对象的方法,为此(仅考虑Java SE),要么要求该类实现Comparable并因此具有compareTo(Object o)方法,要么就为排序算法提供一个Comparator。] >