HashMap vs MultivaluedMap - PullRequest
       0

HashMap vs MultivaluedMap

0 голосов
/ 06 февраля 2019

Я недавно в Rest API в Java и наткнулся на MultivaluedMap.Я не нахожу преимущества MultivaluedMap перед HashMap или другими классами, такими как TreeMap или LinkedHashMap. Пожалуйста, объясните сценарий, когда требуется MultivaluedMap.

1 Ответ

0 голосов
/ 06 февраля 2019

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...