Introdução
Visualizando uma pilha
Uma stack (pilha) é muito semelhante a uma queue (fila) e muitos dos conceitos que você aprendeu sobre uma queue podem ser aplicados a uma stack. Ao contrário da fila com lógica FIFO, uma pilha é diferente porque utiliza a lógica oposta, LIFO (Último a Entrar, Primeiro a Sair; Last In, First Out).
Um exemplo comum para pensar em uma stack (pilha) é uma pilha de pratos. Imagine 5 pratos empilhados um sobre o outro. Se você adicionar um sexto prato ao topo da pilha, sua pilha de pratos agora será uma pilha de 6. No entanto, e se você quisesse remover um prato? Bem, você não alcançaria o fundo da pilha e pegaria um prato; você tiraria um prato de cima.
Essa lógica Last In, First Out (LIFO) também se aplica a pilhas em Java.