java開(kāi)發(fā)工程師 如何去重HashSet中的重復(fù)對(duì)象?
如何去重HashSet中的重復(fù)對(duì)象?集合將自動(dòng)重復(fù),這意味著集合中的元素具有相同的內(nèi)存地址。例如user1=newuser()用戶名.setName(“abc”)user2=newUser()用戶名.
如何去重HashSet中的重復(fù)對(duì)象?
集合將自動(dòng)重復(fù),這意味著集合中的元素具有相同的內(nèi)存地址。
例如
user1=newuser()用戶名.setName(“abc”)
user2=newUser()用戶名.setName(“ABC”)這里,user1和user2的內(nèi)存地址是不同的(在堆中每個(gè)都有自己的地址)。雖然它們都可以用getname獲取ABC,但它們不是“==”
如果此時(shí)user3=user1
,user3==user1在堆棧中只有不同的引用名,但它們并不相同,因?yàn)樗鼈冎赶蛳嗤膬?nèi)存地址。
因此,將user1和user2add添加到HashSet時(shí),集的大小將為2。如果將user1和user3放在HashSet中,則該集將重復(fù),大小將為1