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

时间:2013-09-04 09:47:59

标签: java sorting collections arraylist

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

Employee {
   long lastUpdate;
}

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

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

我只能想到迭代列表并进行比较,最终可能会花费大约O(n2)时间,这可以通过任何工具类更有效地完成吗?

1 个答案:

答案 0 :(得分:2)

Apache的commons.collections库有一个CollectionUtils类。 该类提供了Collection检查的方法,包括intersection,difference和union。

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