を1つにまとめてCollection
の本の中には存在しないようにしようとしています。私の問題は、ブックIDに基づいて比較する必要があるため、最初のブックが2番目のブックに含まれているかどうかを確認するだけでは不十分で、2番目のコレクションのブックが最初の本。Java 8の2つのコレクションの違いを見つけるには?
私は本の2つのコレクションを比較し、最初のコレクションをフィルタリングするには、以下のコードを持っている:私は、オブジェクト自体を比較していますので、
List<Book> parentBooks = listOfBooks1.stream().filter(book-> !listOfBooks2.contains(book)).collect(Collectors.toList());
コードが正しく動作しません。ブックオブジェクト全体の代わりにブックIDに基づいてオブジェクトを比較する必要があります。 bookId(book.getId())に基づいて比較を実行できるように、コードをどのように変更する必要がありますか?
ありがとうございます。出来た。 – Nisman
うわーの仕事 – user2244734
なぜ誰かがSet(ids)、どうしてリストじゃないの?これは、Setの "contains"演算にはO(1)が必要なためです。 –