比如泛型為Person類的List,里面有多個Person對象,Person類有多個屬性,姓名、年齡、性別等等。怎么從List中去除姓名重復的Person對象呢。是不是要重寫什么equals方法?麻煩講細點
3 回答
已采納

Elife漫格局
TA貢獻17條經(jīng)驗 獲得超13個贊
可以利用set集合的不重復特性去重,代碼如下:
HashSet h = new HashSet(list);
list.clear();
list.addAll(h);
意思也很好理解,list是你的list集合,通過HashSet之后,變成了一個不重復但是無序的set集合,再將原本的list清空,將set中的集合加入list中,這個時候list就變成了不重復的集合,你可以寫個例子試試

精慕門9254224
TA貢獻167條經(jīng)驗 獲得超46個贊
自己定義的類中equals方法都是比地址的,而你創(chuàng)建的實例地址都是不一樣的!所以他們都不一樣,list比較時都不一樣,無法去重復!把equals方法修改為比較內(nèi)容后,就可以了!
添加回答
舉報
0/150
提交
取消