|    
			
				13/04/2011, 03:13
			
			
			  | 
  |   |  |  |  |  Fecha de Ingreso: diciembre-2009 
						Mensajes: 62
					 Antigüedad: 15 años, 10 meses Puntos: 4 |  | 
  |  Respuesta: arraylist de arraylist  
  Yo te voy a explicar porque cuando bajas el "primero.clear()" te retorna vacio
 Bien, es simple, porque "primero" es un Objeto y lo que vos haces cuando escribis devuelve.add(primero) el nuevo elemento del "devuelve" es una REFERENCIA del objeto "primero", no se si me explico.
 Es decir, supongamos que
 
 Objeto primero= "ab"
 
 vos haces devuelve.add(primero)   , claro esta que devuelve seria entonces devuelve= [[ab]]
 
 pero ese ab de devuelve es ua REFERENCIA de el objeto "primero", es decir que hagas lo que hagas con el objeto "primero" se va a modificar el elto ab de devuelve y en todas las partes que hayas referenciado al obejto primero.
 A no ser que crees otro objeto aparte de esos dos que tenes y hagas una copia exacta del objeto primero, y esa copia es lo que vas a agregar al devuelve, no vas a agregar "primero".
 
 Por eso cuando pones primero.clear() al al final y dentro del while se vacian todos los elementos de "primero" por ende tambien se van a vaciar los elemenos de "devuelve".
 
 No se si me explique bien,  Si en tu primero codigo, abajo y afuera del while escribis  primero.add("a"); y imprimis         System.out.println(devuelve.toString());  vas a saber de lo que hablo.
 
 
 Saludos que andes bien!
     |