Отображение элементов массива строк с целочисленным массивом - PullRequest
0 голосов
/ 19 сентября 2018

У меня есть целочисленный массив и строка, строка содержит символы P и N, я хочу сопоставить элементы строки с соответствующим целочисленным элементом.например, массив int = 1,2,3,4,5 и строка имеет PPNPN P-> 1, P-> 2, N-> 3, P-> 4, N-> 5.

https://ideone.com/vJldUJ

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));
}   

Печать не всех значений.

1 Ответ

0 голосов
/ 19 сентября 2018

Вы не можете использовать тот же ключ в 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);
        }   
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...