| 发表于:2007-02-26 16:23:23 楼主 |
| 请教大家:我有一个嵌套的hashmap 如:{key1={a=1,b=2,c=3},key2={d=1,e=2},...},我现在是要根据传过来的一对k,v值(k对应大hashmap的key,v对应小hashmap的key)来对这个嵌套的hashmap进行更新.比如现在传过来key1,a 我就把key1对应的小hashmap{a=1,b=2,c=3}拿出来放进预先定义的一个临时hashmap里.然后把a对应的出现次数,即数字1拿出来加1后再放回去,这样这个小hashmap就变为{a=2,b=2,c=3},然后我再将小hashmap put回大hashmap里,于是大hashmap就是{key1={a=2,b=2,c=3},key2={d=1,e=2},...}了.现在的问题是那个临时的hashmap我只在程序前面定义了一次,我在每次把小hashmap put回大hashmap后都会调用小hashmap的clear来移除所有映射关系,以便下一次的使用.现在问题是我调用完clear后,大hashmap里已经存在的小hashmap也跟着变空了.我于是就再定义一个临时的hashmap用来存放那个临时小hashmap的clone,把这个clone的hashmap put回大hashmap里.但是还是一样,调用clone的hashmap的clear后大hashmap里已经存在的小hashmap还是跟着变空了.不知道这个问题该如何解决,请达人指点. |
|
|
|
|