我最近到Java的REST API和整个MultivaluedMap来了。我不觉得在HashMap的或其它类,如MultivaluedMap
或TreeMap
.Please优势LinkedHashMap
解释情况时MultivaluedMap是必要的。
一个MultivaluedMap
是:
一种地图键值对。每个键可以有零个或多个值。
一个Map
是:
将键映射到值的对象。一个映射不能包含重复的键;每个键可以至多映射到一个值。
因此,在一个MultivaluedMap
可以插入与相同的密钥0,1,2,3个或更多的对象。
在Map
你可以插入相关的关键正是1对象。
这就是区别,如果你需要存储与单个键多个值,如果你只有一个值,它们是相似的也可以是有用的。
一种可能的情形是,你保存所有相关的以字母开头的单词的字典。键是A B 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");
另一种情况是持有用户buyed所有产品的地图。键是用户ID和值的产品。
USER1 -> Pizza Margherita
Pizza Pepperoni
USER2 -> Pizza Margherita
USER3 -> Pizza Margherita
Pizza Pepperoni
Pizza Four Cheese