820
Capítulo 19 Colecciones
19.7 La clase
Stack
del paquete
java.util
En el capítulo 17, Estructuras de datos, aprendimos a construir estructuras de datos fundamentales, incluyendo
listas enlazadas, pilas, colas y árboles. En un mundo de reutilización de software, en vez de construir las estructu-
ras de datos a medida que las necesitamos, podemos a menudo aprovechar las estructuras de datos existentes. En
esta sección, investigaremos la clase
Stack
en el paquete de utilerías de Java (
java.util
).
En la sección 19.5.3 hablamos sobre la clase
Vector
, la cual implementa a un arreglo que puede cambiar
su tamaño en forma dinámica. La clase
Stack
extiende a la clase
Vector
para implementar una estructura de
datos tipo pila. La conversión autoboxing ocurre cuando agregamos un tipo primitivo a un objeto
Stack
, ya que
la clase
Stack
sólo almacena referencias a objetos. En la fi gura 19.16 se demuestran varios métodos de
Stack
.
Para obtener los detalles de la clase
Stack
, visite el sitio Web
java.sun.com/javase/6/docs/api/java/util/
Stack.html
.
Figura 19.15
| Los métodos
addAll
,
frequency
y
disjoint
de
Collections
. (Parte 2 de 2).
Despues de addAll, el vector contiene:
negro rojo verde rojo blanco amarillo azul
Frecuencia de rojo en el vector: 2
lista y vector tienen elementos en comun
1
// Fig. 19.16: PruebaStack.java
2
// Programa para probar la clase java.util.Stack.
3
import
java.util.Stack;
4
import
java.util.EmptyStackException;
5
6
public class
PruebaStack
7
{
8
public
PruebaStack()
9
{
10
Stack< Number > pila =
new
Stack< Number >();
11
12
// crea números para almacenarlos en la pila
13
Long numeroLong =
12L
;
14
Integer numeroInt =
34567
;
15
Float numeroFloat =
1.0F
;
16
Double numeroDouble =
1234.5678
;
17
18
// usa el método push
19
pila.push( numeroLong );
// mete un long
20
imprimirPila( pila );
21
pila.push( numeroInt );
// mete un int
22
imprimirPila( pila );
23
pila.push( numeroFloat );
// mete un float
24
imprimirPila( pila );
25
pila.push( numeroDouble );
// mete un double
26
imprimirPila( pila );
27
28
// elimina los elementos de la pila
29
try
30
{
31
Number objetoEliminado =
null
;
32
33
// saca elementos de la pila
34
while
(
true
)
Figura 19.16
| La clase
Stack
del paquete
java.util
. (Parte 1 de 2).
19_MAQ_CAP_19_DEITEL.indd820
4/19/081:31:30AM