如何根據對象屬性刪除兩個列表共有的內容。下面我試圖從testList2中刪除與testList1包含相同str1參數的所有值。刪除這兩個列表中共有的內容
我想我可以重寫正在比較的類中的equals方法,因爲在使用removeAll時,等式方法在引擎蓋下使用?
testList1 & testList2是ArrayList類型,都包含一個Test對象列表。
testList1.removeAll(testList2);
public class Test{
private String str1;
private String str2;
public Test(String str1 , String str2){
this.str1 = str1;
this.str2 = str2;
}
public String getStr1() {
return str1;
}
public String getStr2() {
return str2;
}
public boolean equals(Object o){
Test t = (Test)o;
return this.getStr1().equalsIgnoreCase(t.getStr2());
}
}
什麼類是'testList1'(例如' ArrayList','LinkedList',...)? – Thomas 2012-02-03 12:16:29
@Thomas testList1&testList2的類型ArrayList – 2012-02-03 12:17:48
不應該'equals()'比較** this ** **對象作爲參數傳遞的對象嗎?爲什麼你的'equals()'方法比較參數的'str1'和參數'str2'? – mmdemirbas 2012-02-03 12:26:01