私は項目date、id、およびactionを持つItemのクラスを持っています。私の場合、私は古いアイテムのリストと古いアイテムと新しいアイテムを含む別のリストを持っているので、古いアイテムを除外したいので、私はそれらを気にしません。たとえば、新しいアイテムを繰り返し、古いアイテムリストに属していないアイテムだけを使用します。 (forループ付きリストのJavaストリームの相違
が、それは次のようになりますが、私はその複雑な条件を避けるために、あなたのItem
クラスでそれをすべての
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