java - 一个 ArrayList 与另一个 ArrayList 的差异同步(添加、删除但不覆盖)

标签 java arraylist

新数据:

ArrayList<Comment> newComments =  getComments();

已有数据,已填写一些数据:

ArrayList<Comment> oldComments 

我无法用新内容覆盖整个旧内容。

我想要新的(尚未存在)Comment newComments 中的对象添加到oldComments ,我也想要 newComments 中缺失的那些将从 oldComments 中删除。

Collections有什么好的方法吗?包这个?或者任何其他方式?

注:Comment类有自定义compare()方法(不使用默认 equals() )

最佳答案

java.util.Set 更适合您的用例。然后你可以这样做:

oldComments.retainAll(newComments);
oldComments.addAll(newComments);

关于java - 一个 ArrayList 与另一个 ArrayList 的差异同步(添加、删除但不覆盖),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12164421/

相关文章:

java - 拆分一个数组并将它们保存在 2 个单独的数组中

c# - 如何让一个方法接受两种类型的数据作为参数?

java - ArrayList:大小如何增加?

java - Arraylist.contains 不会检查字符串

Java w/SQL Server Express 2008 - 索引超出范围异常

java - ArrayList 与 LinkedList 的 JDK8 性能对比

Java - 排序类别

java - 如何在java中使用rabbitmq异步发送消息以将它们排队而无需等待spring amqp中每条消息的回复?

java - 方法不会增加对象 ArrayList 中的 int 变量?

Java:什么对象比较合适?