Карта по определению будет иметь разные ключи. Если вы добавите пару ключ-значение и ключ уже существует, новая пара ключ-значение перезапишет существующую пару ключ-значение.
Для вашего сценария, когда у вас есть несколько значений для одного ключа, вы можете изучить следующие параметры
Вариант 1. Поскольку ваши пары ключ-значение не уникальны, они могут быть сохранены в виде списка пар . Для каждой пары ключ-значение вы можете создать пару и вставить ее в список.
List<Pair<String, Integer>> data = new ArrayList();
Pair<String, Integer> item = new Pair("abc", 1);
data.add(item);
Эта опция не дает вам оптимизированных возможностей поиска, которые поставляются с картой.
Вариант 2. Создайте Map<String, List<Integer>>
. Вы больше не сможете выполнять простые операции надписи на карте, но сможете хранить все элементы, соответствующие каждому ключу, без потери информации, а также быстрее их извлекать.