我的应用计算城市之间的距离。有时,我得到一个形式为:
的ArrayList哈希映射 [{username=p, startcity=A, finalcity=B},
{username=p, startcity=C, finalcity=D},
{username=f, , startcity=E, finalcity=D},
{username=e, startcity=F, finalcity=L}]
下面几行,我得到ArrayList
[{username=p, startcity=A, finalcity=B},
{username=e, startcity=F, finalcity=L},
{username=p, startcity=C, finalcity=D},
{username=f, , startcity=E, finalcity=D},
{username=e, startcity=F, finalcity=L}]
请注意,位置1和位置4的对象完全相同。 然后我尝试在每个对象上分配不同的数字。问题是上述对象每次都得到相同的值......
...代码
for(n=0;n<5;n++){
ArrayList.get(n).put("n",String.valueof(n));
}
Log.d("ArrayList", ArrayList.toString.....
导致......
[{username=p, startcity=A, finalcity=B , n=0},
{username=e, startcity=F, finalcity=L,n=4!!!!//here...},
{username=p, startcity=C, finalcity=D,n=2},
{username=f, , startcity=E, finalcity=D,n=3},
{username=e, startcity=F, finalcity=L,n=4}]
所以我无法区分这两个对象。为什么;这不奇怪;有没有办法做到这一点;提前致谢
答案 0 :(得分:0)
首先,我不了解ArrayList哈希映射的含义。 ArrayList和HashMap完全不同。你做了一些转换吗?也许当你将ArrayList转换为HashMap时会发生错误。
其次,你说&#34;以下几行&#34;,我认为你应该粘贴这几行,这是其他人帮助解决你的问题所必需的。
我希望你能再次编辑你的问题。解决这个问题需要更多细节。
答案 1 :(得分:0)
ArrayList.get(n)
当n的值为4时,将获得相同的对象,并且将覆盖n为1时放置的同一对象。