【发布时间】:2019-02-23 06:18:24
【问题描述】:
我有一个整数数组和一个字符串,字符串有字符 P 和 N, 我想将字符串的元素与它各自的整数元素进行映射。 例如 int array= 1,2,3,4,5 并且字符串有 PPNPN P->1,P->2,N->3,P->4,N->5.
int array[]={1,2,3,4,5};
String s1="PPNPN";
String []array1=new String[s1.length()];
for(int i = 0; i < s1.length(); i++)
{
array1[i] = String.valueOf(s1.charAt(i));
}
Map <String,Integer> map1=new HashMap<String,Integer>();
for(int i=0;i<array1.length;i++)
{
map1.put(array1[i],array[i]);
}
for (String key : map1.keySet())
{
System.out.println(key + " " + map1.get(key));
}
它没有打印所有的值。
【问题讨论】:
-
一张地图不能多次拥有同一个键。如果您放置一个已经存在的键,它只会覆盖该键的现有值。
-
除了映射还有其他方法吗?
-
您可能想要使用
Map<String, List<Integer>>或类似的方法来使用单个键存储一堆值 -
请先了解
Map接口的行为。