[英]Mapping elements of string array with integer array
我有一个整数数组和一个字符串,该字符串具有字符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));
}
它不会打印所有值。
您不能在HashMap中使用相同的密钥。 在已经存在的键上向HashMap添加新值将覆盖先前的值。 看到我为您提供了一个替代解决方案https://ideone.com/PT6vvy 。
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
int array[]={1,2,3,4,5};
String s1="PPNPN";
char []array1=s1.toCharArray();
String out[] = new String[array1.length];
for(int i = 0; i < array1.length; i++)
{
out[i] = array1[i]+" -> "+array[i];
}
for (String val : out)
{
System.out.println(val);
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.