java中对于嵌套map,如何循环赋值?如图的bug有什么解决方法
publicstaticvoidmain(String[]args){Map<Integer,HashMap<Integer,Integer>>ve=newHashMap...
public static void main(String[] args) {
Map<Integer,HashMap<Integer, Integer>> ve=new HashMap<Integer,HashMap<Integer, Integer>>();
HashMap<Integer, Integer> tmp=new HashMap<Integer, Integer>();
int j=0;int i;
for(j=0;j<3;j++)
{
for(i=0;i<3;i++)
{
tmp.put(i, j);
}
ve.put(j, tmp);
System.out.println("******");
Tf_Idf.printHM(ve);
}
}
结果为:
******
0 -- {0=0, 1=0, 2=0}
******
0 -- {0=1, 1=1, 2=1}
1 -- {0=1, 1=1, 2=1}
******
0 -- {0=2, 1=2, 2=2}
1 -- {0=2, 1=2, 2=2}
2 -- {0=2, 1=2, 2=2}
每一次都会被覆盖成最后一次操作的tmp 展开
Map<Integer,HashMap<Integer, Integer>> ve=new HashMap<Integer,HashMap<Integer, Integer>>();
HashMap<Integer, Integer> tmp=new HashMap<Integer, Integer>();
int j=0;int i;
for(j=0;j<3;j++)
{
for(i=0;i<3;i++)
{
tmp.put(i, j);
}
ve.put(j, tmp);
System.out.println("******");
Tf_Idf.printHM(ve);
}
}
结果为:
******
0 -- {0=0, 1=0, 2=0}
******
0 -- {0=1, 1=1, 2=1}
1 -- {0=1, 1=1, 2=1}
******
0 -- {0=2, 1=2, 2=2}
1 -- {0=2, 1=2, 2=2}
2 -- {0=2, 1=2, 2=2}
每一次都会被覆盖成最后一次操作的tmp 展开
2个回答
展开全部
可以分开,我帮你写一个,发不出来 public class Test {public static void main(String[] args) {List list = new ArrayList();int a = 1;int b = 2;String key = "";String value = "";for (int i = 0; i < 50; i++) {HashMap map = new HashM
java,嵌套,map,循环,赋值
可以分开,我帮你写一个,发不出来 public class Test {public static void main(String[] args) {List list = new ArrayList();int a = 1;int b = 2;String key = "";String value = "";for (int i = 0; i < 50; i++) {HashMap map = new HashM
java,嵌套,map,循环,赋值
可以分开,我帮你写一个,发不出来 public class Test {public static void main(String[] args) {List list = new ArrayList();int a = 1;int b = 2;String key = "";String value = "";for (int i = 0; i < 50; i++) {HashMap map = new HashM
追问
额。。不懂
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
图太清晰。。。看不清
追问
添加了补充问题,十分感谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询