我有一個類的字段日期,ID和行動。在我的情況下,我有舊項目列表和另一個列表,其中包括舊項目和新項目,所以我想過濾舊項目,所以我不介意他們。例如,我遍歷新項目,只使用不屬於舊項目列表的項目。列表的Java流差異
隨着循環,它看起來是這樣,但我想
List<Item> filteredList = new ArrayList<>();
for (Item item : newList) {
for (Item oldItem : oldList) {
if (!item.getDate().equals(oldItem.getDate()) && !item.getId().equals(oldItem.getId()) && !item.getAction().equals(oldItem.getAction())) {
filteredList.add(item);
}
}
}
爲什麼「每個人總是」試圖使用流沒有任何理由,除了「他們很酷和臀部」沒有任何實際的要求/使用?也許看看數據流是如何工作的以及它們提供了什麼功能,但你並沒有表現出將自己的循環移植到數據流上的任何努力。 – luk2302
如果你想從一個列表中刪除其他列表中的項目,你總是可以使用'list.removeAll(otherList)'。只要確保您的項目可以用equals方法進行適當的比較。 – Pshemo