Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/03/2013, 07:27
juanin21
 
Fecha de Ingreso: marzo-2013
Mensajes: 2
Antigüedad: 11 años, 1 mes
Puntos: 0
Una duda con referencias a objetos

utilizando una cola implemete un algoritmo que me permitiese utilizarla como si fuera un pila una pila, nunca imagine que un algoritmo tan fácil se me pudiera complicar tanto en java.

Código:
    public void insertar(Object dato){
	cola.insertar(dato);
	while(dato!=cola.primero()){ // mientras la referencia dato no apunte al mismo que está al inicio en la cola 
	    Object x = cola.eliminar(); // saca ese elemento
	    cola.insertar(x); // e insertalo al final
	}
    }
en el main un problema al utilizar mi clase parece funcionar dependiendo de los datos que inserte

por ejemplo:

pila.insertar(8);
pila.insertar(5);
pila.insertar(9);
pila.insertar(21);
pila.insertar(77);
pila.insertar(13);

pila = [13,77,21,9,5,8]
funcionaba de maravilla!!
pero en casos como este actua rarisimo

pila.insertar(5);
pila.insertar(5);
pila.insertar(5);
pila.insertar(21);
pila.insertar(77);
pila.insertar(5);
pila = [5,5,5,5,77,21]

lo unico que pude notar es que funciona de manera correcta
únicamente si inserto los datos de esta manera

pila.insertar(new Integer(5));
pila.insertar(new Integer(5));
pila.insertar(new Integer(5));
pila.insertar(new Integer(21));
pila.insertar(new Integer(77));
pila.insertar(new Integer(5));
pila = [5,77,21,5,5,5]

pareciera que al crear los número arriba solo creara un objeto
y lo reciclara siempre

alguien me pudiese explicar bien que es lo que sucede?