Как сохранить строковый тип значений массива в объекте HashMap - PullRequest
0 голосов
/ 01 апреля 2019

Когда я пытаюсь сохранить значение массива String в хэш-карте, он покажет нулевое значение. Пожалуйста, дайте любое решение. Спасибо заранее

                String temp;
                String[] line=new String[15];
                Map<String, String> map=new HashMap<String, String>();

                InputStream stream=new FileInputStream(path);
BufferedReader reader =new BufferedReader(new InputStreamReader(stream));
                while((temp = reader.readLine()) != null)
                {
                    for(int j=0; j<line.length ;j++)
                    {   
                        line[j]=reader.readLine();

                        String fname=line[0];
                        String lname=line[1];
                        String mobile=line[2];
                        String gender=line[3];

                    //Store array string to map
                        map.put("fname",fname);

                    //retrive map object    
                       System.out.println(map.get(fname));

                System.out.println(fname);//showing null value in console

                System.out.println(lname);//array shows values
                System.out.println(mobile);//array shows values

                    }

1 Ответ

0 голосов
/ 01 апреля 2019

Вы пытались получить значение карты по значению (переменная fname)

 System.out.println("map.get(fname) = "+map.get(fname));

, но вы должны использовать map.get(key), и ваш ключ - "fname" (как строка), а не fname (как переменная))

решение -

System.out.println("map.get(fname) = "+map.get("fname"));

и для FileInputStream попробуйте использовать файл вместо пути:

 File file = new File("C:/*****");
 InputStream stream=new FileInputStream(file);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...