Изменить: теперь правильно объяснил проблему.
У меня есть хэш-карта, где я хочу хранить наборы слов, видимых вместе (ключ), и строки, в которых они были замечены вместе(значение) Вот структура, которую я придумал:
HashMap<HashSet<String>, HashSet<Integer>> hm= ...
для входных данных:
манго, банан, яблоко
яблоко, банан
персик, морж
морж, персик
] Когда я читаю это, строка за строкой, я создаю новые временные ключи (хеш-наборы, еще не вставленные в hmap) из сочетания слов в строке. Каждый временный ключ представляет собой хэш-набор подмножества слов в строке. Если в моей хэш-карте уже существует временный ключ, который я проверяю с помощью
if(hashmap.containsKey(hashset))
, я просто добавляю новую строку к соответствующему значению этого ключа, если нет, я делаю новую запись в хэш-карте и забочусь об этом.
Ни в коем случае нельзя менять существующий ключ. Я только обновляю их соответствующие значения в hasmmap.
моя хеш-карта в конце чтения файла должна выглядеть примерно так
[яблоко, банан]=[1,2]
[персик, морж]=[3,4]
...
проблема в том, что часть кода
if(hashmap.containsKey(hashset))
не всегда обнаруживает существующие ключи. Почему это? Эта структура не разрешена?
Спасибо