【发布时间】:2016-01-11 10:57:51
【问题描述】:
我有一个 aList 和一个 bList,它们都有一个共同的字段,这是我匹配两个列表的参考。 一旦两个列表引用匹配,我想用 aList 更新 bList 对象。 常规方法如下,我如何在 java 8 中实现相同?
// How to save below piece of two iterations (along with compare* and update*)
// using java 8 ?
// Stream filter will return new Collection but not update same (bList)
for (A a : aList)
{
for(B b: bList )
{
// compare*
if(a.getStrObj.equalsIgnoreCase(b.getStrObj))
{
// update*
// assume aObjs is initialized
b.getAObjs().add(a);
}
}
}
// Reference for Objects declaration
List<A> aList;
class A {
String strObj;
public String getStrObj()
{ return strObj; }
}
List<B> bList;
class B {
String strObj;
List<A> aObjs;
public getStrObj()
{ return strObj; }
public setAObjs(List<A> aObjs)
{ this.aObjs= aObjs; }
public getAObjs()
{ return this.aObjs;}
}
【问题讨论】:
-
所以你的代码现在不起作用了?问题是什么?还请提供可编译的代码。目前它充满了编译错误。你真的用 == 比较字符串吗?
-
b.setAObjs(a);接受一个 List 但你用一个对象设置它。
标签: java-8