La clase Stack
Un objeto de la clase Stack es una pila. Permite almacenar
objetos y luego recuperarlos en el orden inverso en el cual se insertaron,
es decir, siempre se recupera el último elemento insertado.
Para insertar un objeto a la pila
se invoca el método push. Por ejemplo:
Stack pila= new Stack();
pila.push("Hola");
La primera instrucción crea una pila inicialmente vacía.
La segunda inserta el string "Hola" en la pila.
El argumento de push es un valor de cualquier tipo (int, double, String
o boolean).
En cualquier momento se puede recuperar el último elemento insertado en la pila
con los métodos popTipo(). Por ejemplo:
println( pila.popString() );
Despliega el string "Hola" y elimina de la
pila dicho elemento. El tipo pedido (en este caso String) debe
coincidir con el tipo del valor del elemento insertado en la pila.
Para obtener el valor del tope de la pila sin que éste sea eliminado, deben
usarse los métodos firstTipo(). Por ejemplo:
println( pila.firstString() );
Despliega el string "Hola", pero no lo elimina de la pila.
Paquete
Para hacer uso de esta clase es necesario incluir al
inicio del programa la siguiente línea:
import tools.*;
Constructor
Métodos
- void push(int val): inserta el entero val en la pila.
- void push(double val): inserta el real val en la pila.
- void push(String s): inserta el string s en la pila.
- void push(double b): inserta el valor booleano b en la pila.
- int popInt(): recupera el valor entero que se encuentra en el tope de la pila
y lo elimina de ésta.
Se produce un error en tiempo de ejecución si
el elemento de la pila no es de tipo int.
- double popDouble(): recupera el valor real que se encuentra en el tope de la pila
y lo elimina de ésta.
Se produce un error en tiempo de ejecución si
el elemento de la pila no es de tipo double.
- String popString(): recupera el string que se encuentra en el tope de la pila
y lo elimina de ésta.
Se produce un error en tiempo de ejecución si
el elemento de la pila no es de tipo String.
- boolean popBoolean(): recupera el valor booleano que se encuentra en el tope de la pila
y lo elimina de ésta.
Se produce un error en tiempo de ejecución si
el elemento de la pila no es de tipo boolean.
- int firstInt(): recupera el valor entero que se encuentra en el tope de la pila.
Se produce un error en tiempo de ejecución si
el elemento de la pila no es de tipo int.
- double firstDouble(): recupera el valor real que se encuentra en el tope de la pila.
Se produce un error en tiempo de ejecución si
el elemento de la pila no es de tipo double.
- String firstString(): recupera el string que se encuentra en el tope de la pila.
Se produce un error en tiempo de ejecución si
el elemento de la pila no es de tipo String.
- boolean firstBoolean(): recupera el valor booleano que se encuentra en el tope de la pila.
Se produce un error en tiempo de ejecución si
el elemento de la pila no es de tipo boolean.
- int size(): entrega el número de elementos que contiene la pila.
- boolean isEmpty(): entrega verdadero si la pila esta vacía, falso en caso
contrario.
- boolean isInt(): entrega verdadero si el elemento del tope de la pila
es de tipo int, falso en caso contrario.
- boolean isDouble(): entrega verdadero si el elemento del tope de la pila
es de tipo double o int, falso en caso contrario.
- boolean isString(): entrega verdadero si el elemento del tope de la pila
es de tipo String, falso en caso contrario.
- boolean isBoolean(): entrega verdadero si el elemento del tope de la pila
es de tipo boolean, falso en caso contrario.