需要遍历一个复杂的数据结构并从算法中修改外部变量。
我试图用流来做,但据我所知它不是线程安全的,可能是竞争条件......
有没有比下面复制的方法更好的方法?
List<ObjectA> externalVariable = new ArrayList<>();
List<ObjectA> externalVariable2 = new ArrayList<>();
if (objectA != null) {
externalVariable.add(objectA);
for (ObjectB objectB : objectA) {
if (objectB.getObjectC() != null) {
for (ObjectD objectD : objectB.getObjectC()) {
if (objectD.getObjectE() != null) {
for (ObjectE objectE : objectD.getObjectE()) {
if (objectE.getObjectF() != null) {
for (ObjectG objectG : objectE.getObjectF()) {
objectG.setSomething("BlaBla");
if (objectG.getOjectH() != null && objectG.getOjectH().getObjectI() != null) {
for (ObjectI objectI : objectG.getOjectH().getObjectI()) {
externalVariable2.add(objectI);
ObjectJ objectJ = getRelevantOjectJ(objectA.getId(), objectI.getId());
objectI.setObjectJ(objectJ);
}
}
}
}
}
}
}
}
}
}
波斯汪
相关分类