如何在Map中存儲多個(gè)字符串?是否可以設(shè)置兩個(gè)以上的值對?例如:Map<String,String,String,String>號碼,姓名,地址,電話 - 全部匯集在一起顯示值。每個(gè)值與其他值相關(guān)聯(lián)。
3 回答

幕布斯6054654
TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超7個(gè)贊
你在拒絕對象。您應(yīng)該使用一個(gè)包含數(shù)字,名稱,地址,電話的對象(也許您可以調(diào)用它ContactInformation
)并將其放入地圖中。

小怪獸愛吃肉
TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超1個(gè)贊
不,a Map
只有一把鑰匙。如果希望您的值包含更多信息,請將字符串包裝在新類中:
public class PersonalInfo { private final String name; private final String address; private final String phone; // constructor and getters } map.put(number, new PersonalInfo(name, address, phone));

烙印99
TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超13個(gè)贊
'正確'的解決方案是使用一個(gè)保存命名字段中的值的對象,但本著回答問題的精神,一個(gè)簡單的(如果不清潔)解決方案將使用:
Map<String,List<String>> yourMap = new HashMap<String,List<String>>();List<String> info = new ArrayList<String>();info.add(number);info.add(name);info.add(address);info.add(phone);yourMap.put(key, info);
注意google-collections有一系列實(shí)現(xiàn)這種結(jié)構(gòu)的類,開箱即用,名為ListMultimap,它的實(shí)現(xiàn)是ArrayListMultimap
添加回答
舉報(bào)
0/150
提交
取消