如何将字符串类型的数组值存储到HashMap对象中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将字符串类型的数组值存储到HashMap对象中相关的知识,希望对你有一定的参考价值。

当我尝试将String数组值存储到hashmap时,它将显示null value.please提供任何解决方案。谢谢提前

                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

                    }
答案

您试图按值获取地图值(变量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而不是path:

 File file = new File("C:/*****");
 InputStream stream=new FileInputStream(file);

以上是关于如何将字符串类型的数组值存储到HashMap对象中的主要内容,如果未能解决你的问题,请参考以下文章

如何存储多个数据类型的数组

如何将对象类型的值存储在数组中并调用它们(C#)?

Java的HashMap键值对存储结构解析

hashmap会问到数组索引,hash碰撞怎么解决

值类型数组如何存储在 .NET 对象堆中?

如何将对象中特定键的值存储到数组中 - Vue