猿问

如何在Map中存储多个字符串?

如何在Map中存储多个字符串?

是否可以设置两个以上的值对?

例如:

Map<String,String,String,String>

号码,姓名,地址,电话 - 全部汇集在一起显示值。每个值与其他值相关联。


九州编程
浏览 945回答 3
3回答

幕布斯6054654

你在拒绝对象。您应该使用一个包含数字,名称,地址,电话的对象(也许您可以调用它ContactInformation)并将其放入地图中。

小怪兽爱吃肉

不,a&nbsp;Map只有一把钥匙。如果希望您的值包含更多信息,请将字符串包装在新类中:public&nbsp;class&nbsp;PersonalInfo&nbsp;{ &nbsp;&nbsp;&nbsp;private&nbsp;final&nbsp;String&nbsp;name; &nbsp;&nbsp;&nbsp;private&nbsp;final&nbsp;String&nbsp;address; &nbsp;&nbsp;&nbsp;private&nbsp;final&nbsp;String&nbsp;phone; &nbsp;&nbsp;&nbsp;//&nbsp;constructor&nbsp;and&nbsp;getters &nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;map.put(number,&nbsp;new&nbsp;PersonalInfo(name,&nbsp;address,&nbsp;phone));

烙印99

'正确'的解决方案是使用一个保存命名字段中的值的对象,但本着回答问题的精神,一个简单的(如果不清洁)解决方案将使用:Map<String,List<String>>&nbsp;yourMap&nbsp;=&nbsp;new&nbsp;HashMap<String,List<String>>();List<String>&nbsp;info&nbsp;=&nbsp;new&nbsp;ArrayList<String>();info.add(number);info.add(name);info.add(address);info.add(phone);yourMap.put(key,&nbsp;info);注意google-collections有一系列实现这种结构的类,开箱即用,名为ListMultimap,它的实现是ArrayListMultimap
随时随地看视频慕课网APP

相关分类

Java
我要回答