“jedantas”:
Ae galera desculpe o encomodo mais sou novo com programação java e gostaria de saber qual q diferença entre filas pilhas e listas parecem ser tao parecidos nao sei exatamente quando uso um ou o outro…
alguem poderia postar alguns ex. de um e de outro e me explicar o q se trata por favor…
List = conjunto de objetos que são acessiveis pela sua posição na lista (ver java.utils.List)
Fila = conjunto de objetos cuja ordem de inserção/remoção de objetos obedece a uma lógica (por exemplo uma fila de mensagens a serem entregues) Normalmente usada como um buffer de “comandos” a serem processados depois (ver java.utils.Queue)
Pilha = conjunto de objetos cuja ordem de inserção/remoção simula o empilhamento desses objetos. Pilhas são Filas em que apenas o objeto “no topo da pilha” pode ser removido e qualquer objeto adicionado vai para o topo da pilha. Também conhecido como File FILO (First In Last Out)
A lógica pode ser inversa, sendo o ultimo elemento a poder ser removido , caso em que será um LIFO (Last in First Out). (ver java.util.Stack)
As implementações destes conceitos estão disponíveis em java, e normalmente usando a mesma classe, é o uso da classe vai determinar que papel ela está fazendo, se lista, se fila ou pilha.
LinkedList pode ser usada em qualquer destas funções, mas para a função de lista pura ArrayList é melhor. Para a funcionalidade de File (Queue) é normalmente necessário sincronismo de threds e portanto outra implementação de Queue pode ser mais apropriada). Uma pilha é um uso especial de uma fila, portanto vale o conceito anterior. Pode ser usada a class Stack, mas ela extende Vector e não Queue, não estando portanto no padrão aconcelhavel para usar encapsulamento. Nesse caso pode ser usado LinkedList sem problema.