java .。map集合中放了个数组,怎么把数组读出来。

public static void main(String[] args) {

List<Integer> a = new ArrayList<Integer>();
Map<String, Object> map = new HashMap<String, Object>();
a.add(1);
a.add(21);
a.add(31);
a.add(31);
a.add(41);
a.add(11);
a.add(13);
int[] b = { 1, 2, 3, 4, 5 };
map.put("a", a);
map.put("b", b);
Iterator iter = map.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
Object key = entry.getKey();
Object val = entry.getValue().toString();
System.out.println(key + "------" + val);

}
}
结果b是个对象了。要怎么逐个遍历出来。
b------[I@4611dfe3
a------[1, 21, 31, 31, 41, 11, 13]

第1个回答  2016-09-08
List<Integer> aa = (List<Integer>)map.get("a");
for(int j=0; j<aa.size(); j++){
System.out.println(aa.get(j));
}

int[]bb = (int[])map.get("b");
for(int j=0; j<bb.length; j++){
System.out.println(bb[j]);
}追问

方法可行,只是有一问题还要请教下,
强转还能这样用-》int[] bb = (int[]) map.get("b");
ide都不提示可以将map强转为int[]。
请问这样有什么优点和缺点??

本回答被提问者采纳
相似回答