我有两个数据副本,这里1代表我的卷,2代表我的问题。我必须将COPY2与COPY1进行比较,找到COPY2中缺少的所有元素(COPY1始终是一个超集,COPY2可以相等或始终是其子集)。
现在,我必须在COPY2中获取缺少的卷和问题。
这样从下图(场景)中我得到的结果是:-


丢失的文件– 1-C,1-D,2-C,2-C,3-A,3-B,4,E。

题-


我应该使用哪种数据结构在Java中存储上述值(数量和问题)?
如何以最有效的方式在Java中实现此方案,以找出这两个副本之间的区别?

最佳答案

我建议使用HashSet<VolumeIssue>。每个VolumeIssue实例对应一个分类的问题,例如1-C

在这种情况下,您所需要找到的就是通话

copy1.removeAll(copy2);


copy1剩下的是copy1中存在的所有问题,而copy2中没有。

请注意,您的VolumeIssue类必须正确实现equalshashCode才能起作用。

09-04 10:58