如何向数组中添加对象

如何向数组中添加对象,第1张

试一下以下代码,a到c,a是要找重复数据的List,里面都是a的重复数据,只出现一次的已经过滤掉了。如果c里面的数据要求不重复,把ArrayList换成HashSet就行了。

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",

是因为数组中保存的都是指向json对象a的地址,

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])

希望对你有帮助!


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/bake/11960543.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-20
下一篇2023-05-20

发表评论

登录后才能评论

评论列表(0条)

    保存