В частности, мне нужен интерфейс для сравнения объектов, которые можно сравнить только с равенством [например. комплексные числа], но на них нет общего порядка. Он должен иметь [Обратите внимание, что он возвращает только boolean yes/no]
boolean Equals(T object1, T object2);
и функцию hashcode. Так что, когда я распределяю их в ведра, используя объекты, скажем, чтобы собрать "равные" объекты, 2 "равных" объекта не попадают в два разных ведра.
int getHashCode(T object);
Есть ли у него Java? Я искал и не мог найти его.
Я пытаюсь использовать это в Hadoop Map Reduce, чтобы распространять "равные" объекты на одно и то же сокращение задания, чтобы я мог работать на всех "равных" объектах. Меня интересует только то, являются ли объекты равными или нет и не нуждаются в общем порядке. Но если два объекта равны, они должны иметь один и тот же хэш-код. В противном случае они попадут в два разных задания сокращения.
Обратите внимание, что я знаю о равных и хэш-кодах объекта. Но я хочу, чтобы внешний компаратор, который говорит, зависит только от части объекта. Таким образом, объективное понятие равенства отличается от моего.