我有两组相同的结构。我想按 id 字段组合它们。 应在特定字段上进行组合(对于 l1 Num2 和 l2 Num1)所有其他字段不应更改。
List<MyClass> l1=[{id = 1 , num1 = 3 , num2 = 0 , name = "yoyo"},
{id = 2 , num1 = 9 , num2 = 0 , name = "lolo"},
{id = 3 , num1 = 4 , num2 = 0 , name = "bobo"},
{id = 8 , num1 = 2 , num2 = 0 , name = "toto"}];
List<MyClass> l2=[{id = 1 , num1 = 0 , num2 = 3 , name = "yoyo"},
{id = 2 , num1 = 0 , num2 = 7 , name = "lolo"},
{id = 3 , num1 = 0 , num2 = 8 , name = "bobo"},
{id = 6 , num1 = 0 , num2 = 7 , name = "zozo"}];
// i want to combine the lists to get l3 like this one
list<MyClass> l3=[{id = 1 , num1 = 3 , num2 = 3 , name = "yoyo"},
{id = 2 , num1 = 9 , num2 = 7 , name = "lolo"},
{id = 3 , num1 = 4 , num2 = 8 , name = "bobo"},
{id = 8 , num1 = 2 , num2 = 0 , name = "toto"},
{id = 6 , num1 = 0 , num2 = 7 , name = "zozo"}];
最佳答案
l3.addall(l1);
for(int i=0;i<l2.size();i++){
for(int j=0;j<l3.size();j++){
if(l2.get(i).id!=l3.get(j).id)
l3.add(l2.get(i);
else{
l3.get(j).num2=l2.get(i).num2;
}
}
}
关于java - 如何在 Java 中组合两个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40134553/