732

Capítulo 17 Estructuras de datos

El método 

main

 de la clase 

PruebaCola

 (fi gura 17.14) crea un objeto de la clase 

Cola

 llamado 

cola

. En las 

líneas 13, 15, 17 y 19 se agregan a la cola cuatro enteros, aprovechando la conversión autoboxing para insertar 
objetos 

Integer

 en la cola. En las líneas 27 a 32 se utiliza un ciclo 

while

 infi nito para sacar de la cola los objetos, 

en el orden “primero en entrar, primero en salir”. Cuando la cola está vacía, el método 

dequeue

 lanza una excep-

ción 

ExcepcionListaVacia

 y el programa muestra el rastreo de la pila para esa excepción.

Figura 17.13

  |

Cola

 utiliza la clase 

Lista

. (Parte 2 de 2).

 29  

{

 30  

 

return

 listaCola.estaVacia();

 31  

}

 // fin del método estaVacia

 32 
 33  

// imprime el contenido de la cola

 34  

public void 

imprimir()

 35  

{

 36  

 

listaCola.imprimir();

 37  

}

// fin del método imprimir

 38 

}

// fin de la clase Cola

Figura 17.14  

|  Programa para procesar objetos 

Cola

. (Parte 1 de 2).

 1 

// Fig. 17.14: PruebaCola.java

 2 

// La clase PruebaCola.

 3 

import

 com.deitel.jhtp7.cap17.Cola;

 4 

import

 com.deitel.jhtp7.cap17.ExcepcionListaVacia;

 5 
 6 

public class

 PruebaCola 

 7 

{

 8  

public static void

 main( String args[] )

 9  

{

 10  

 

Cola cola = 

new

 Cola();

 11 
 12  

 

// usa el método enqueue

 13  

 

cola.enqueue(

-1

);

 14  

 

cola.imprimir();

 15  

 

cola.enqueue(

0

 );

 16  

 

cola.imprimir();

 17  

 

cola.enqueue(

1

 );

 18  

 

cola.imprimir();

 19  

 

cola.enqueue(

5

 );

 20  

 

cola.imprimir();

 21
 22  

 

// elimina objetos de la col

 23  

 

try

 24  

 

{

 

25    

Object objetoEliminado = 

null

;

 26 
 

27    

while

 ( 

true

 ) 

 

28    

{

 29 

 

 

 

      

objetoEliminado = cola.dequeue(); 

// usa el método dequeue

 30 

 

 

 

      

System.out.printf(

"%s se elimino de la cola\n"

, objetoEliminado );

 31 

 

 

 

      

cola.imprimir();

 

32    

}

// fin de while

 33  

 

}

 // fin de try

 34  

 

catch

 ( ExcepcionListaVacia excepcionListaVacia ) 

 35  

 

{

 

36    

excepcionListaVacia.printStackTrace();

17_MAQ_CAP_17_DEITEL.indd732

4/19/081:30:08AM