我有两个不同的List
个对象,我想根据这两个对象的公共属性得到两个对象的合并列表,新列表应该只包含公共对象。两个对象的大小也各不相同。
我的第一个对象:
ObjectA(distance,remainingtime,msg1_received_time)
ObjectB(remainingtime,msg1_decoding_time,phase)
我希望List
有一个值,其中只有剩余时间在两种情况下都相同。有人可以指导我吗?
答案 0 :(得分:1)
如果您没有任何tieme约束,您可以始终迭代一个列表的元素,然后检查它们是否存在于另一个列表的元素上。大小为O(n ^ 2)的算法:
for(ObjectA el : listOfA)
{
for(ObjectB in : listOfB)
{
if(el.remainingtime == in.remainingtime)
{
resultList.add(el);
break;
}
}
}
如果您正在寻找更高效的内容,那么您可以尝试使用Set<T>
,这样可以更快地访问。