【发布时间】:2011-05-20 14:59:05
【问题描述】:
我的地图声明如下:
Map<Integer, String[]> mapVar = new HashMap<Integer, String[]>();
我通过创建几个字符串数组并使用相应的整数将它们放入我的地图中来初始化它。
然后我想遍历地图中我的字符串数组中的所有元素。 我尝试了这两种可能性,但它们没有给我正确的值:
for(int ii =0; ii < 2; ii++)
System.out.println(((HashMap<Integer, String[]>)mapVar).values().toArray()[ii].toString());
和
mapVar.values().toString();
我也知道数组和整数可以很好地进入地图,我只是不知道如何访问它们。
谢谢
【问题讨论】:
-
你的投入、预期产出和实际产出是什么?
-
字符串“13”、“26”和“14”、“28”我得到 [Ljava.lang.String;@342798e7 和 [Ljava.lang.String;@13a78071
-
这是
String[]的默认toString()表示。您想打印单个字符串,而不是数组对象的toString()。看我的回答。 -
在您愉快地构建仅使用哈希图和数组的数据结构之前,请考虑使用适当的 hashCode 和 equals 实现为您想要保存的数据创建类