1

我有两个不同的List对象,我想根据这两个对象的共同属性获得两个对象的合并列表,新列表应该只包含公共对象。两个对象的大小也各不相同。我的第一个对象:

ObjectA(distance,remainingtime,msg1_received_time)
ObjectB(remainingtime,msg1_decoding_time,phase)

而且我希望有一个List在两种情况下只有剩余时间相同的值。有人可以指导我吗?

4

1 回答 1

1

如果您没有任何 tieme 约束,您始终可以迭代一个列表的元素,然后检查它们是否存在于另一个列表的元素中。大小为 O(n^2) 的算法:

for(ObjectA el : listOfA)
{
    for(ObjectB in : listOfB)
    {
        if(el.remainingtime == in.remainingtime)
        {
            resultList.add(el);
            break;
        }
    }
}

如果您正在寻找更高效的东西,那么您可以尝试使用Set<T>,这应该会使访问速度更快。

于 2013-06-20T11:59:29.137 回答