虚心求教!
public static void main(String[] args) {
List<String> listFirst = new ArrayList<>();
listFirst.add("parent1");
listFirst.add("parent2");
listFirst.add("parent3");
//第二层for和第三层for的元素相同,个数不固定,假如有100个元素就要100个if判断和100个flag
List<String> listSecond = new ArrayList<>();
listSecond.add("filedName1");
listSecond.add("filedName2");
List<String> listChildren = new ArrayList<>();
listChildren.add("filedName1");
listChildren.add("filedName2");
boolean flag1 = true;
boolean flag2 = true;
boolean flag3 = true;
for (String str : listFirst) {
for (int i = 0; i < listSecond.size(); i++) {
for (String listChild : listChildren) {
if (listChild.equals(listSecond.get(i)) && flag1){
System.out.println("parent1:" + listFirst.get(0));
flag1 = false;
break;
}
if (listChild.equals(listSecond.get(i)) && flag2){
System.out.println("parent2:" + listFirst.get(1));
flag2 = false;
break;
}
if (listChild.equals(listSecond.get(i)) && flag3){
System.out.println("parent3:" + listFirst.get(2));
flag3 = false;
break;
}
}
}
}
}
执行结果如下:
parent1:parent1
parent2:parent2
parent3:parent3
这段代码该如何优化?
你可能需要一个
List<Boolean>