我有一堂课
class CustomDetail{
String version;
List<String> details;
}
由于某种方法,我得到了CustomDetail的列表,如
List<CustomDetails> resultList
resultList.get(0) => CustomDetail("V1", {"123"})
resultList.get(1) => CustomDetail("V1", {"456"})
...
resultList.get(9) => CustomDetail("B", {"atr"})
resultList.get(10) => CustomDetail("B", {"atr1"})
resultList.get(11) => CustomDetail("B", {"atr3"})
此列表中的CustomDetails可能包含相同的版本。
并且我需要合并这些对象,例如:
List<CustomDetails> newList = ...
newList.get(0)=> CustomDetail("V1", {"123", "456"})
newList.get(1)=> CustomDetail("B", {"atr", "atr1", "atr3"})
任何想法如何做到这一点?
答案 0 :(得分:-1)
首先在您的equals
上实施hashCode
和CustomDetail
。您的IDE很可能会提供一种捷径来生成必要的代码。
然后创建一个Set
(即HashSet
)并将两个列表都添加到其中。由于集合不能包含重复的条目,因此您最终只能得到一个包含唯一成员的集合。如果需要,可以从List
创建一个Set
。