【问题标题】:Comparing two different List objects in java [duplicate]比较java中的两个不同的List对象[重复]
【发布时间】:2013-06-20 11:47:41
【问题描述】:

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

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

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

【问题讨论】:

  • 找到最长的列表,在这个列表上循环并使用包含。

标签: java list arraylist compare


【解决方案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-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-10
    • 1970-01-01
    • 2016-03-30
    • 2021-12-03
    相关资源
    最近更新 更多