Итак, я работаю с объектами 4000, для которых мне нужно сопоставить идентификаторы объектов объектам.Отображение Java, несколько ключевых столкновений, обходные пути
private HashMap<Foo, Bar> fooBar;
Дело в том, что около 34, 35 раз есть ключевые столкновения, в которых два элемента будут иметь один и тот же ключ. Что я могу сделать по этому поводу? Я не хочу, чтобы сделать
private HashMap<Foo, List<Bar>> fooBar;
Поскольку список не будет использоваться 99% времени, и у меня есть некоторые ограничения ресурсов. Каков стандартный способ обойти это?
Если ключ является идентификатором объекта, как может быть несколько объектов с одним и тем же ключом/идентификатором? Идентификаторы уникальны, поэтому, если они имеют одинаковый идентификатор, они * являются * одним и тем же объектом. – Andreas
Это то, что используется алгоритм idGen. Я думаю, может быть хэширование объекта для генерации идентификатора, и есть некоторые столкновения. –
Таким образом, идентификатор не является истинным идентификатором, поскольку он не * идентифицирует * объект, а это означает, что вы должны перестать называть его идентификатором, поскольку это вводит в заблуждение. – Andreas