import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
import java.util.concurrent.CopyOnWriteArrayList;
public class DiGuiTest {
public static void main(String[] args) {
List<OrgDto> list = new ArrayList<OrgDto>();
OrgDto dto1 = new OrgDto();
dto1.setOrgId(10l);
dto1.setSupOrgId(3l);
dto1.setOrgName("10部門");
list.add(dto1);
OrgDto dto2 = new OrgDto();
dto2.setOrgId(12l);
dto2.setSupOrgId(10l);
dto2.setOrgName("12部門");
list.add(dto2);
OrgDto dto3 = new OrgDto();
dto3.setOrgId(13l);
dto3.setSupOrgId(12l);
dto3.setOrgName("13部門");
list.add(dto3);
Long a = 3l;
List<Long> supList = new CopyOnWriteArrayList<Long>();
supList.add(a);
List<String> nameList = new ArrayList<String>();
Iterator<Long> iterator = supList.iterator();
while (iterator.hasNext()) {
Long s = Long.parseLong(iterator.next().toString());
for (OrgDto o : list) {
if (o.getOrgId().equals(s)) {
nameList.add(o.getOrgName().trim());
} else if (o.getSupOrgId().equals(s)) {
nameList.add(o.getOrgName().trim());
supList.add(o.getOrgId());
}
}
}
for (String n : nameList) {
System.out.println(n);
}
}
}
想要實現的是 能夠輸出10部門及其所有子部門的部門名稱,即10部門、12部門、13部門
while (iterator.hasNext()) {改成用for(int i=0;i<supList.size();i++){