在java中加入两个列表

时间:2012-02-22 14:57:40

标签: list join java

我有不同类的列表,分别说A和B.这些类的定义如下 -

class A {
 int field1;
 int field2;
}

class B {
 int field1;
 int field3;
}

class C {
 int field1;
 int field2;
 int field3;
}

我想在A和B上执行连接操作(类似于数据库连接),在field1上执行,并在C中填充结果。

我可以迭代列表并执行它。但是,只是想检查是否有任何库方法做类似的事情。

3 个答案:

答案 0 :(得分:0)

如果这些是您正在使用的唯一字段,请手动迭代。

对于较大的数据集,请将数据分组到集合和apply a Cartesian Product algorithm

答案 1 :(得分:0)

您可以将任何类的对象添加到列表中(如果您的列表不是通用指定的)。但是当你从列表中获取每个对象时,你将不知道该对象是哪种类型。

答案 2 :(得分:-1)

也许在apache集合中使用库中的方法:

import org.apache.commons.collections.ListUtils;    

List<?> newListC = ListUtils.intersection(list1, list2);

希望它有所帮助。