比较java中的两个不同的List对象

时间:2013-06-20 11:47:42

标签: java list arraylist compare

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

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

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

1 个答案:

答案 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>,这样可以更快地访问。