Pessoal,
To organizando uma "arvore" e fiz a segunti gambi:
private void sortPlanActionElementsRecur(int uid, List<SupportValeurFixe> list, List<SupportValeurFixe> sorted)
{
Iterator<SupportValeurFixe> iter = list.iterator();
Iterator<SupportValeurFixe> iter1;
Iterator<SupportValeurFixe> iter2;
Iterator<SupportValeurFixe> iter3;
Iterator<SupportValeurFixe> iter4;
Iterator<SupportValeurFixe> iter5;
SupportValeurFixe elem;
SupportValeurFixe elem1;
SupportValeurFixe elem2;
SupportValeurFixe elem3;
SupportValeurFixe elem4;
SupportValeurFixe elem5;
while(iter.hasNext()){
elem = iter.next();
if (elem.getIdParent() == 0){
sorted.add(elem);
iter1 = list.iterator();
while(iter1.hasNext()){
elem1 = iter1.next();
if (elem1.getIdParent() == elem.getId()){
sorted.add(elem1);
iter2 = list.iterator();
while(iter2.hasNext()){
elem2 = iter2.next();
if (elem2.getIdParent() == elem1.getId()){
sorted.add(elem2);
iter3 = list.iterator();
while(iter3.hasNext()){
elem3 = iter3.next();
if (elem3.getIdParent() == elem2.getId()){
sorted.add(elem3);
iter4 = list.iterator();
while(iter4.hasNext()){
elem4 = iter4.next();
if (elem4.getIdParent() == elem3.getId()){
sorted.add(elem4);
iter5 = list.iterator();
while(iter5.hasNext()){
elem5 = iter5.next();
if (elem5.getIdParent() == elem3.getId()){
sorted.add(elem5);
}
}
}
}
}
}
}
}
}
}
}
}
}
como da para se notar, ta um pouco complexo os whiles aninjados.
O problema é o seguinte:
Tenho o 1 registro, tenho que varrer toda a lista e encontrar o filho, varrer tufo e encontrar o neto.
Depois que encontrar todos os netos, varrer tudo e encontrar o segundo filho, todos os netos do segundo filho etc ...
Se alguem tiver alguma ideia de como posso resolver esta gambi, me ajude ...
tkz