假设我有两个列表,现在listOld包含旧的Employee信息,listNew包含新的Employee信息
Employee {
long lastUpdate;
}
List<Employee> listOld; //ArrayList
List<Employee> listNew;
如何比较两个列表并返回包含的新列表,添加的新员工列表,包含的新列表,删除的员工列表,包含lastUpdate已更改的员工的新列表?
我只能想到迭代列表并进行比较,最终可能会花费大约O(n2)时间,这可以通过任何工具类更有效地完成吗?
答案 0 :(得分:2)
Apache的commons.collections库有一个CollectionUtils类。 该类提供了Collection检查的方法,包括intersection,difference和union。
请参阅:http://commons.apache.org/proper/commons-collections/javadocs/api-3.2.1/index.html