Я думаю, вы можете быть озадачены тем, для чего hashCode()
используется в Java.
Сортировка обычно не основывается на equals()
и hashCode()
. Они используются для определения равенства. Например, HashSet
будет использовать эти два метода только для определения равенства. TreeSet
также использует оба метода для определения равенства, но они не используются для сортировки элементов.
Для сортировки необходим способ сравнения объектов, и для этого (только с учетом Java SE) необходимо, чтобы класс реализовал Comparable
и, следовательно, имел метод compareTo(Object o)
, или чтобы Comparator
предоставляется для алгоритма сортировки.
Итак, если вы сортируете целые числа, используя метод из Java SE, например Arrays.sort()
, то hashCode
не будет учитываться, и ваши целые числа будут получены согласно compareTo()
класса или предоставленного Comparator
.