classe Java Stack
Stack è una sottoclasse di Vector, che implementa uno stack LIFO standard.
Stack definisce solo il costruttore predefinito per creare uno stack vuoto. Oltre allo stack comprende tutti i metodi definiti dal vettore, definisce anche alcuni dei loro metodi.
Stack()
In aggiunta a tutti i metodi definiti dal vettore, e definisce metodi:
No. | metodo Descrizione |
---|---|
1 | boolean vuoto () Per verificare se la pila è vuota. |
2 | peek Object () Vedere cima alla pila di oggetti, ma non rimuove dalla pila. |
3 | Object pop () Rimuovere la parte superiore dell'oggetto pila, e il valore di questa funzione restituisce l'oggetto. |
4 | Object Push (elemento Object) Spinge un elemento sulla sommità della pila. |
5 | int di ricerca (elemento Object) Restituisce la posizione dell'oggetto in pila, con 1 come base. |
Esempi
Il seguente programma illustra questa collezione supporta diversi metodi
import java.util.*; public class StackDemo { static void showpush(Stack st, int a) { st.push(new Integer(a)); System.out.println("push(" + a + ")"); System.out.println("stack: " + st); } static void showpop(Stack st) { System.out.print("pop -> "); Integer a = (Integer) st.pop(); System.out.println(a); System.out.println("stack: " + st); } public static void main(String args[]) { Stack st = new Stack(); System.out.println("stack: " + st); showpush(st, 42); showpush(st, 66); showpush(st, 99); showpop(st); showpop(st); showpop(st); try { showpop(st); } catch (EmptyStackException e) { System.out.println("empty stack"); } } }
Gli esempi sopra risultati elaborati sono i seguenti:
stack: [ ] push(42) stack: [42] push(66) stack: [42, 66] push(99) stack: [42, 66, 99] pop -> 99 stack: [42, 66] pop -> 66 stack: [42] pop -> 42 stack: [ ] pop -> empty stack