java中对于嵌套map,如何循环赋值?

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

第1个回答  2016-04-13
Map map=new HashMap();

Iterator it=map.keySet().iterator();

Object key;

Object value;

while(it.hasNext()){

key=it.next();

value=map.get(key);

System.out.println(key+":"+value);

}本回答被网友采纳
第2个回答  2016-04-13
字太小。看不清楚,重新发来看看。追问

添加了补充问题

第3个回答  2016-04-13
图片太模糊, 看不清楚。追问

添加了补充问题