A MultivaluedMap
- это:
Карта пар ключ-значение.Каждая клавиша может иметь ноль или более значений .
A Map
:
Объект, который сопоставляет ключи со значениями.Карта не может содержать дубликаты ключей;каждая клавиша может соответствовать не более одного значения .
Таким образом, в MultivaluedMap
вы можете вставить 0, 1, 2, 3 или более объектов, связанных с одним и тем же ключом.
В Map
вы можете вставить ровно 1 объект, связанный с ключом.
В этом разница, может быть полезно, если вам нужно сохранить много значений, связанных содна клавиша , если у вас есть только одно значение, они похожи.
Возможный сценарий - это словарь, в котором вы сохраняете все связанные слова, начинающиеся с буквы.Ключи - это AB C ... Z, а значения - это слова.
A -> Acid
Apple
August
B -> Banana
Boat
C -> Car
Chain
...
Z -> Zebra
Это может быть закодировано с помощью:
MultivaluedMap<String, String> multiMap = new MultivaluedHashMap<>();
multiMap.add("A", "Acid");
multiMap.add("A", "Apple");
multiMap.add("A", "August");
multiMap.add("B", "Banana");
multiMap.add("B", "Boat");
multiMap.add("C", "Car");
multiMap.add("C", "Chain");
multiMap.add("Z", "Zebra");
Другой сценарий - это Карта, содержащая все товары, купленные уПользователь.Ключи - это идентификатор пользователя, а значения - это продукты.
USER1 -> Pizza Margherita
Pizza Pepperoni
USER2 -> Pizza Margherita
USER3 -> Pizza Margherita
Pizza Pepperoni
Pizza Four Cheese