3 回答

TA貢獻(xiàn)1809條經(jīng)驗(yàn) 獲得超8個(gè)贊
你可以試試這個(gè):
myList.stream().filter(item -> item.equals("C")).collect(Collectors.toList());
由于 list_new 中不存在“D”項(xiàng),因此 removeAll 無(wú)法將其刪除。如果您需要檢查您的列表是否包含“C”項(xiàng),您可以這樣做:
if(myList.contains("C")){myList = myList.stream().filter(item -> item.equals("C")).collect(Collectors.toList());}
您不需要使用兩個(gè)列表來(lái)刪除所有其他項(xiàng)目。

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超5個(gè)贊
成功的答案是好的方法,也是困難的方法。因?yàn)槟悴恍枰玫轿锲?。Android 操作系統(tǒng)總是可以等同于短文本或長(zhǎng)文本。
代替:
list_old.removeAll(list_new);
到:
for(String i: new ArrayList<>(list_old)) {
for(String j: new ArrayList<>(list_new)) {
if (!i.equals(j)) {
list_old.add(i);
break;
}
}
}
你會(huì)得到正確的結(jié)果。

TA貢獻(xiàn)1936條經(jīng)驗(yàn) 獲得超7個(gè)贊
您得到錯(cuò)誤的列表,因?yàn)槟鷮⒘斜淼韧诹斜?。這樣做;
創(chuàng)建一個(gè)像 SQLite 一樣的 SQLite DBRecentlyHelper。例如:DBOldListItems和DBOldListItems
將所有項(xiàng)目保存到我所說(shuō)的新數(shù)據(jù)庫(kù)中,并將其與項(xiàng)目相等。
舊物品:
A - B - C
新東西:
A - B - C - D
例子:
if(!olditems.get(i).item.equals(newitems.get(i)){
olditems.get(i).item
}
如果, A item 將不等于 newitems 數(shù)組,您將得到結(jié)果。在結(jié)果之后,您可以更新您的舊項(xiàng)目,并且您可以執(zhí)行更多、更多、更多的操作。
如果您有什么不明白的地方,請(qǐng)與我聯(lián)系。也許我的英語(yǔ)聽(tīng)不懂:)
添加回答
舉報(bào)