4 回答

TA貢獻(xiàn)8條經(jīng)驗 獲得超5個贊
你可重寫 equals和hashCode,邏輯如下,如果實例中姓名相同 那么 hashcode 相同,然后把實例集合往set容器里放,如果實例中 姓名有相同的 那么hashcode相同 那么set容器就會用當(dāng)前實例覆蓋之前的hashcode一樣的實例。

TA貢獻(xiàn)41條經(jīng)驗 獲得超38個贊
你的問題有點問題,先向你確認(rèn)一下,
1、你有一個叫person的類
2、你創(chuàng)建了多個這個類的實例
3、其中實例中有name成員是相同的
解決方法:
第一種:從根源上解決,就是你在實例化的時候,不允許存在相同姓名相同的實例。如果存在就替換原來的或者不允許實例化
第二種:就你描述的解決,你描述的內(nèi)容是說已經(jīng)實例出來了多個姓名相同的實例,那么就要確定依據(jù)什么條件去去掉相同的實例,例如說:名字為“小明”,年齡大于100歲的去掉。再例如:信息完全相同的去掉(這個更符合實際)。
看你是需要那個,到時候我可以寫個簡單的例子給你。

TA貢獻(xiàn)1條經(jīng)驗 獲得超0個贊
創(chuàng)建一個ArrayList集合;
把實例依次添加到集合里,在添加的時候?qū)线M(jìn)行遍歷,遍歷集合時,判斷name屬性是否重復(fù),重復(fù)則不添加;
最后集合里的對象就是去重的了。
添加回答
舉報