1 回答

TA貢獻(xiàn)1911條經(jīng)驗(yàn) 獲得超7個(gè)贊
一個(gè)MultivaluedMap是:
鍵值對(duì)的映射。每個(gè)鍵可以有零個(gè)或多個(gè)值。
一個(gè)Map是:
將鍵映射到值的對(duì)象。地圖不能包含重復(fù)的鍵;每個(gè)鍵最多可以映射到一個(gè)值。
因此,MultivaluedMap您可以在 a 中插入與同一鍵相關(guān)的 0、1、2、3 個(gè)或更多對(duì)象。
在 aMap中,您可以準(zhǔn)確插入 1 個(gè)與鍵相關(guān)的對(duì)象。
這就是區(qū)別,如果您需要存儲(chǔ)與單個(gè) key 相關(guān)的許多值,如果您只有一個(gè)值它們是相似的,它會(huì)很有用。
一個(gè)可能的場(chǎng)景是一個(gè)字典,您可以在其中保存所有以字母開(kāi)頭的相關(guān)單詞。鍵是 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");
另一種情況是包含用戶購(gòu)買的所有產(chǎn)品的地圖。鍵是用戶 ID,值是產(chǎn)品。
USER1 -> Pizza Margherita
Pizza Pepperoni
USER2 -> Pizza Margherita
USER3 -> Pizza Margherita
Pizza Pepperoni
Pizza Four Cheese
添加回答
舉報(bào)