请在您标记之前阅读评论!
我希望将HashMap
的内容转换为String
,将ArrayList
转换为使用String
的{{1}}。
有可能吗? 有这么简单的方法吗?
我必须要迭代并使用Arrays.toString(arrayList)
附加它吗?例如:
Iterator
我认为它是不同的,因为对HashMap<String, ArrayList<MyObject>> objectMap = new HashMap<String, ArrayList<>>();
//.... put many items to objectMap
Iterator it = objectMap.entrySet().iterator();
while(it.hasNext()){
Map.Entry pairs = (Map.Entry) it.next();
System.out.println(pairs.getKey() + " = " + pairs.getValue());
}
而不是<String, ArrayList>
答案 0 :(得分:6)
您可以使用toString()
的{{1}}:
Map
String content = objectMap.toString();
会覆盖Map
方法,因此您可以轻松获取地图内容。
我应该举个例子:
toString()
这是输出:
public static void main(String[] args) throws Exception {
HashMap<String, List<MyObject>> objectMap = new HashMap<>();
List<MyObject> list = new ArrayList<>();
list.add(new MyObject(12, 12));
objectMap.put("aaaa", list);
String content = objectMap.toString();
System.out.println("content = " + content);
}
private static class MyObject {
int min;
int max;
public MyObject(int max, int min) {
this.max = max;
this.min = min;
}
@Override
public String toString() {
return "MyObject{" +
"max=" + max +
", min=" + min +
'}';
}
}
所以这意味着它运作良好