转换HashMap <string,arraylist <string =“”>&gt;到HashMap <string,string =“”> </string,> </string,>

时间:2013-06-22 20:17:25

标签: java hashmap

请帮助我将HashMap<String, ArrayList<String>>转换为HashMap <String, String>,其中每个ArrayList应转换为包含ArrayList元素的String个{{1}}。

1 个答案:

答案 0 :(得分:3)

我相信这就是你要找的。

//HashMap<String, ArrayList<String>> hashMap;  
//initialized somewhere above

HashMap<String, String> newHashMap = new HashMap<>();

for (Map.Entry<String, ArrayList<String>> entry : hashMap.entrySet())
{
    newHashMap.put(entry.getKey(), entry.getValue().toString());
}

不确定您的问题是否与toString()或如何迭代HashMap有关,如果是后者,则为how to iterate over a map

这是一个从开始到结束的例子:

    ArrayList<String> al = new ArrayList<>();
    al.add("The");
    al.add("End");

    HashMap<String, ArrayList<String>> hashMap = new HashMap<>();
    hashMap.put("This is", al);

    HashMap<String, String> newHashMap = new HashMap<>();

    for (Map.Entry<String, ArrayList<String>> entry : hashMap.entrySet())
    {
        newHashMap.put(entry.getKey(), entry.getValue().toString());
    }

    System.out.println(newHashMap.toString());
    //prints {This is=[The, End]}