【发布时间】:2016-02-09 09:49:12
【问题描述】:
首先我的问题类似于这个已经回答的问题Merging two arrayLists into a new arrayList, with no duplicates and in order, in Java。
但是这里的不同之处在于我尝试将两个列表合并在一起,而不仅仅是一个字符串。我这边的意图是合并以下类型的两个对象(为了简化我从示例中删除了不必要的信息):
public class Data{
private int count;
private Type type;
private Key uniqueKey;
}
这样我就得到了一个包含汇总计数的新对象。这将消除不需要的重复项,因为这些对象上的 uniqueKey 是相同的。原因是我只将几种业务类型映射到一种技术类型。
这里的问题是,您必须考虑每一种可能性,以便正确处理合并并且不要错过原始对象。
以下是我尝试用单元测试覆盖的一些情况:
- 一个正常,后跟两个重复,一个正常 = 正常、合并、正常
- 两个重复,后跟两个正常 = 合并、正常、正常
- 两个正常,后跟两个重复 = 正常、正常、合并
等等等等……
那么如何在不发疯的情况下解决这个问题呢?
【问题讨论】:
标签: java algorithm list merge duplicates