使用Java中相同的哈希码排序对象

问题描述 投票:0回答:1

例如,如果我正在对整数进行哈希处理,而我的哈希函数只是(n%10),则数字17和数字27将产生相同的结果。这并不意味着这些数字相同。

现在,假设n%10是我的哈希函数,我的问题是:如果我按以下顺序输入以下数字,由于数字按其哈希码排序,将如何输出这些数字?

数字:10、27、17、38、58、28、43

java hashcode
1个回答
0
投票

我认为您可能对Java中使用的hashCode()感到困惑。

排序通常不依赖equals()和hashCode()。它们用于识别平等。例如,HashSet将使用这两种方法仅标识相等性。 TreeSet还使用这两种方法来标识相等性,但是它们并不用于对元素进行排序。

排序需要一种比较对象的方法,为此(仅考虑Java SE),要么要求该类实现Comparable并因此具有compareTo(Object o)方法,要么就为排序算法提供一个Comparator。] >

© www.soinside.com 2019 - 2024. All rights reserved.