Ver Mensaje Individual
  #12 (permalink)  
Antiguo 08/05/2009, 03:36
Avatar de elAntonie
elAntonie
 
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 17 años, 3 meses
Puntos: 10
Respuesta: Printear en orden alfabetico

Puedes crearte dos variables para saberlo. tmp y tmpant. en cada recorrido del bucle cambias su valor. tmpant por el valor que tenia tmp, y tmp por el siguiente valor.
Cuando sean distintas, habras cambiado de jerarquia de nodo, y por tanto deberas cerrarlo.

Código:
int j=0;
while (j<lista.size())
{
            tmpant = tmp;
            tmp = lista.get(j).split("\\.");
            for(int k=1;k<tmp.length;k++)//hacer las respectivas tabulaciones
                textOut.write("\t");
            if (tmpant.length > 0 && tmp.length != tmpant.length) //si son distintos es que estamos en otro nodo. eltmpant.length>0 sirve para que no entre la primera vez que pasa por el bucle (j=0)
            {
                  textOut.write("</sub"+tmpant.length+">");
            }            
            textOut.write("<sub"+tmp.length+">");
            textOut.write(tmp[tmp.length-1]);//escribir solo el hijo
            textOut.write("\n");
            j++;
        }    
        textOut.write("</carpeta>");
Pd. Lo he hecho con un while, pero daria igual con tu for.

Última edición por elAntonie; 08/05/2009 a las 03:46