Dúvida na resposta da questão sobre PriorityQueue

1 resposta
Ramon_Sim

alguém pode me explicar porque a saida do código abaixo será: “bye 2, seguido por uma Exceção”

CÓDIGO…

Queue q = new PriorityQueue();

q.offer(new String("hello "));

q.offer(new String("hi ") );

q.offer(new String("bye "));

for ( Object o : q )

{

System.out.println(q.poll() + " " + q.size());

}

1 Resposta

newbcc

Olá,

você está iterando (tentando imprimir o prox. elemento) sobre um elemento que foi removido ao invocar o método pool.

Se você reparar na exeção:

Exception in thread "main" java.util.ConcurrentModificationException
	at java.util.PriorityQueue$Itr.next(Unknown Source)

Bom, de passagem rápida acho que é isso.

Abs.

Criado 21 de agosto de 2009
Ultima resposta 21 de ago. de 2009
Respostas 1
Participantes 2