
List a = new ArrayList()
a.add("123")
a.add("123")
a.add("123")
a.add("123")
a.add("456")
a.add("789")
a.add("123")
Set b = new HashSet()
ArrayList c = new ArrayList()
for (int i = 0i <a.size()i++) {
Object x = a.get(i)
if (b.contains(x)) {
c.add(x)
}
b.add(x)
}
举个简单例子,希望你能明白,1、下面输出结果是"jim",而不是"tom",
dd[0],dd[1],dd[2],dd[3]对象指向的内存地址相同,
当修改其中一个dd[0]的属性值的时候,数组所有元素指向的对象属性值都改变了。
var
dd
=
[]var
a
=
{
"cname":
"tom"
}for
(var
i
=
0
i
<4
i++)
{
dd[i]
=a}dd[0].cname
=
"jim"alert(dd[2].cname)2、下面输出结果是0,而不是1,
是因为数组元素dd[0],dd[1],dd[2],dd[3]对应的内存地址都不同,互不干扰。
var
dd
=
[]var
a
=
0for
(var
i
=
0
i
<4
i++)
{
dd[i]
=a}dd[0]=1alert(dd[2])
希望对你有帮助!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)