2

新しいデータ:

ArrayList<Comment> newComments =  getComments();

既存のデータ、いくつかのデータがすでに入力されています:

ArrayList<Comment> oldComments 

古いコンテンツ全体を新しいコンテンツで上書きすることはできません。

新しい(まだ存在していない)CommentオブジェクトnewCommentsをに追加しoldCommentsたいのですが、不足しているオブジェクトをnewCommentsから削除したいのですoldComments

Collectionsこのためのパッケージにいくつかの良い方法がありますか?または他の方法?

注:Commentクラスにはカスタムcompare()メソッドがあります(デフォルトは使用しませんequals()

4

2 に答える 2

2

Ajava.util.Setはユースケースにより適しています。次に、次のことができます。

oldComments.retainAll(newComments);
oldComments.addAll(newComments);
于 2012-08-28T17:34:00.267 に答える
0

ApacheFoundationとメソッドCollectionUtilsから使​​用できます。union()

2つのリストを連結するのではなく、効果的な結合を確保するために、Commentクラスがメソッドをオーバーライドすることを確認する必要があることに注意してください。equals()

于 2012-08-28T17:33:50.437 に答える