Итак, я хотел бы использовать карту java, где ключи являются объектом... но вместо того, чтобы вводить ключ в значение объекта, они вводят идентификатор объекта. Итак, что-то вроде следующего будет полностью допустимым кодом:
Map<String, Integer> map = new HashMap<String, Integer>();
String s1 = "hi!";
String s2 = "hi!";
map.put(s1, 10);
map.put(s2, 47);
Возможно ли это? Есть ли простой способ сделать это без создания идентификатора объекта или чего-то слишком громоздкого в моем классе? В принципе, мне нужен способ связать постоянно меняющийся список значений с данным объектом. Этот список значений будет потенциально отличаться для объектов с одинаковым значением, поэтому почему карта по умолчанию не работает. Помимо рефакторинга моего класса, чтобы сделать это сам (на самом деле не вариант, учитывая время), есть ли что-нибудь, что я мог бы использовать?
Спасибо.
EDIT: Дополнительная информация.
Приведенный выше пример был просто примером. Для этого я буду использовать алгоритм поиска Uniform-Cost. Для любого заданного node при поиске с помощью этого алгоритма необходимо также иметь путь, который был принят до сих пор. Причина, по которой карта хеш-данных, основанная на значении, не работает, заключается в том, что этот алгоритм может повториться по уже изученным узлам. Пути были бы разными в данный момент, хотя значение "где я сейчас?" идентична.