垂直打印哈希图

Vertically print a hashmap

我在 Java 还很陌生,现在感觉很茫然。

我正在制作一个使用 Apachi POI 从 excel 文档中获取数据并打印结果的程序。

我创建了一个 hashmap,它使用 'for' 循环遍历 excel sheet,并将值存储在其中。

Map<String, Integer> dataMap = new HashMap<String, Integer>();

当循环完成后运行ning,我运行下面的代码打印结果:

System.out.println(dataMap);

结果以这种格式打印出来:

{A=1, Q=15, R=35, D=98, X=60, Y=21, N=57}

有什么方法可以打印我的散列图,使其看起来更有条理,就像一个列表?有点像这样:

A = 1
Q = 15
R = 35
D = 98
X = 60
Y = 21
N = 57

我找不到解决此问题的方法。如果有人可以一步一步地告诉我如何按照我想要的方式打印这段代码,那就太棒了。

for (String key : dataMap.keySet()) {
    System.out.println(key + " = " + dataMap.get(key));
}
    Iterator it = dataMap.entrySet().iterator();
    while (it.hasNext()) {
        Map.Entry pair = (Map.Entry) it.next();
        System.out.println(pair.getKey() + " = " + pair.getValue());
    }
    for (Entry<String, Integer> entry : dataMap.entrySet()) {
        System.out.println(entry.getKey() + " = " + entry.getValue());
    } 

如果要按插入顺序输出,使用LinkedHashMap。

更新了 TreeMap 示例:

    Map<String, Integer> dataMap = new TreeMap<String, Integer>();
    dataMap.put("D", 4);
    dataMap.put("B", 2);
    dataMap.put("F", 6);
    dataMap.put("E", 5);
    dataMap.put("C", 3);
    dataMap.put("G", 7);
    dataMap.put("A", 1);


    for (Entry<String, Integer> entry : dataMap.entrySet()) {
        System.out.println(entry.getKey() + " = " +        entry.getValue());
    }