这是我提出的一个抽象问题:
我有一个系统,每天早上,我都会得到一个文件,其中包含在我公司工作的当前员工列表。一天结束时,我得到另一个文件,其中包含更新的员工列表。有些人可能被解雇了,有些人可能被雇用了。我需要相应地更新我的数据库。
我该怎么做呢?
我的解决方案是:在一天结束时,将第一个文件(早上的文件)中的列表存储到两组 mSet1 和 mSet2 中。将第二个文件中的列表存储在 Set eSet 中。所以我们必须删除所有员工mSet1 - (mSet1 交集eSet)。我们需要添加 eSet 中的所有员工 - (mSet1 交集 eSet)。所以,我会这样做:
做 mSet1.removeAll(eSet)
从数据库中删除 mSet1 中的所有员工记录
做 eSet.removeAll(mSet2)
将所有记录从 eSet 插入数据库。
这个对吗?有一个更好的方法吗?