java - 比较两个相同类型对象的列表

标签 java sorting collections arraylist

假设我有两个列表,现在listOld包含旧的员工信息,listNew包含新的员工信息

Employee {
   long lastUpdate;
}

List<Employee> listOld; //ArrayList
List<Employee> listNew;

如何比较这两个列表并返回包含添加的新员工列表的新列表、包含删除的员工列表的新列表、包含上次更新已更改的员工的新列表?

我只能想到迭代列表并进行比较,最终可能会花费几乎 O(n2) 的时间,这可以通过任何 util 类来完成并且更有效吗?

最佳答案

Apache 的 commons.collections 库有一个 CollectionUtils 类。 该类提供了集合检查的方法,包括交集、差值和并集。

参见:http://commons.apache.org/proper/commons-collections/javadocs/api-3.2.1/index.html

关于java - 比较两个相同类型对象的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18610553/

相关文章:

java - 在内存定义之前或之后使用标志 -server 引导 Weblogic Server

python - 按可变数量的键对多维列表进行排序

C 按升序或降序打印二维数组元素

java - `putForNullKey`方法在hashmap的 `put`方法内部做了什么?

kotlin - Kotlin-基于大小和时间的 block 序列

java - 你如何获得按钮的背景颜色?

java - 如何使用 shell 脚本停止 java 应用程序

c++ - 自定义字符串排序比较函数奇怪的行为

scala - 如何在 Scala 中以声明方式创建列表?

java - "merge"两个ApplicationContext配置的最佳方法