请帮助我将HashMap<String, ArrayList<String>>
转换为HashMap <String, String>
,其中每个ArrayList
应转换为包含ArrayList元素的String
个{{1}}。
答案 0 :(得分:3)
我相信这就是你要找的。 p>
//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]}