java 中map 如何打印map 结构里面的结果呢?

package com.company;
import java.util.HashMap;
import java.util.Map;

public class Main {

    public static void main(String[] args) {
        Map[] map=new Map[5];
        map[0]=new HashMap();
        map[0].put("1","one");
        map[0].put("2","two");
        map[0].put("3","three");
        System.out.print(map);
    }
}

最后的结果是这样的:

[Ljava.util.Map;@1b6d3586
Process finished with exit code 0

表示没看明白这个结果值,我想看到这个map 存的key value 结构内容,如何?

阅读 7.3k
2 个回答
for (Map.Entry<String, String> entry: map.entrySet()) {
    String key = entry.getKey();
    String value = entry.getValue();
}
  1. for循环打出来

    // jdk 8+
    for (Map m : map) {
        if (m != null) {
            m.forEach((key, value) -> {
                System.out.println(key + "=" + value);
            });
        }
    }
    // jdk7
    for (Map m : map) {
        if (m != null) {
            for (Object o : m.entrySet()) {
                Map.Entry entry = (Map.Entry) o;
                System.out.println(entry.getKey() + "=" + entry.getValue());
            }
        }
    }
  2. 用JSON库比如Jackson来将Map转换为String再打印出来

    System.out.println(new ObjectMapper().writeValueAsString(map));
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题