Fila - FiFo

Olá pessoal,
estava tentando implementar um fila fifo usando queue, entretanto os métodos pool removia apenas o ultimo elemento.
Existe algo pronto que realmente implemente uma fila FiFo ?

valeu

http://www.uni-muenster.de/ZIV.BennoSueselbeck/java/jdk1.5.0_01/docs/api/java/util/Queue.html

A interface Queue tem implementações FIFO, ou seja, o primeiro elemento a entrar é o primeiro a sair

veja a descrição da interface na API, e escolha sabiamente qual imlementação usar para o seu problema. :wink:

usa LinkedList, como no exemplo abaixo:

public static void main(String[] args) {
		
		Queue<String> fila = new LinkedList<String>();
		
		fila.add("a");
		fila.add("b");
		fila.add("c");
		fila.add("d");
		
		for (String s: fila){
			System.out.println("elemento: "+s);
		}
		System.out.println();//pula uma linha
		
		while(fila.size() != 0){
			System.out.println(" item:"+fila.poll());
		}
		
		fila.add("e");
		fila.add("f");
		fila.add("g");
		fila.add("h");
		
		System.out.println();//outra
		for (int i=0; i<=fila.size();i++){
			System.out.println(" item:"+fila.poll());
		}
		System.out.println("tamanho da fila: "+fila.size());
		
	}

confesso que estranhei nesse exemplo quando fui rodar pra testar, que o ultimo for não pego o ultimo elemento que estava na fila, isso ainda por que eu coloquei <= la no for… bom de qualquer jeito acho que isso responde sua duvida… se por um acaso você tiver algum interesse em usar como lifo, crie o linkedList da forma abaixo:

LinkedList<String> fila = new LinkedList<String>();

e quando for iterar faça os eguinte:

Collections.reverse(fila);//esse cara infelizmente só aceita listas...