Java HashMap内容为String

时间:2016-02-24 08:10:29

标签: java hashmap

请在您标记之前阅读评论!

我希望将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>

1 个答案:

答案 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 +
                '}';
    }
}

所以这意味着它运作良好