比较java中的两个不同列表对象
我有两个不同的比较java中的两个不同列表对象,java,list,arraylist,compare,Java,List,Arraylist,Compare,我有两个不同的List对象,我想根据这两个对象的公共属性得到两个对象的合并列表,新列表应该只包含公共对象。两个对象的大小也各不相同。 我的第一个目标: ObjectA(distance,remainingtime,msg1_received_time) ObjectB(remainingtime,msg1_decoding_time,phase) 我想要一个列表,其中的值只有两种情况下的剩余时间是相同的。有人可以指导我吗?如果没有任何tieme约束,您可以始终迭代一个列表的元素,然后检查另一个
List
对象,我想根据这两个对象的公共属性得到两个对象的合并列表,新列表应该只包含公共对象。两个对象的大小也各不相同。
我的第一个目标:
ObjectA(distance,remainingtime,msg1_received_time)
ObjectB(remainingtime,msg1_decoding_time,phase)
我想要一个
列表
,其中的值只有两种情况下的剩余时间是相同的。有人可以指导我吗?如果没有任何tieme约束,您可以始终迭代一个列表的元素,然后检查另一个列表的元素上是否存在这些元素。O(n^2)量级的算法:
如果您正在寻找更高效的方法,那么可以尝试使用
Set
,这将使访问速度更快。如果没有任何tieme约束,您可以始终迭代一个列表的元素,然后检查另一个列表的元素上是否存在这些元素。O(n^2)量级的算法:
如果您正在寻找更有效的方法,那么可以尝试使用
Set
,这将使访问速度更快。找到最长的列表,在此列表上循环并使用contains。找到最长的列表,在此列表上循环并使用contains。
for(ObjectA el : listOfA)
{
for(ObjectB in : listOfB)
{
if(el.remainingtime == in.remainingtime)
{
resultList.add(el);
break;
}
}
}