我在Java方面很陌生,现在觉得很茫然。
我正在制作一个使用Apachi POI从excel文档中获取数据的程序,并打印结果。
我创建了一个使用' for'循环遍历excel表,并将值存储在其中。
Map<String, Integer> dataMap = new HashMap<String, Integer>();
当循环运行完毕后,我运行以下代码来打印结果:
System.out.println(dataMap);
结果以这种格式打印出来:
{A=1, Q=15, R=35, D=98, X=60, Y=21, N=57}
有没有办法可以打印出我的hashmap,看起来整齐有序,就像列表一样?有点像这样:
A = 1
Q = 15
R = 35
D = 98
X = 60
Y = 21
N = 57
我无法找到解决此问题的方法。如果有人可以一步一步地告诉我如何以我想要的方式打印这些代码,那将是非常棒的。
答案 0 :(得分:1)
for (String key : dataMap.keySet()) {
System.out.println(key + " = " + dataMap.get(key));
}
答案 1 :(得分:0)
Iterator it = dataMap.entrySet().iterator();
while (it.hasNext()) {
Map.Entry pair = (Map.Entry) it.next();
System.out.println(pair.getKey() + " = " + pair.getValue());
}
答案 2 :(得分:0)
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());
}