java .。map集合中放了个数组,怎么把数组读出来。
publicstaticvoidmain(String[]args){List<Integer>a=newArrayList<Integer>();Map<String,...
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] 展开
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] 展开
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]);
}
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[]。
请问这样有什么优点和缺点??
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询