Olá pessoal!
Estou ainda aprendendo sobre estruturas de dados, e me deparei com um problema que não estou entendendo a origem.
Tentando criar uma fila prioritária, percebi que quando uma prioridade é menor que a prioridade do paciente que está em primeiro na fila, o paciente que é substituto vai para o final da fila.
i
import java.util.PriorityQueue;
import java.util.Queue;
public class Filacomprioridade {
public static void main(String[] args){
Queue<Paciente> fila = new PriorityQueue();
fila.add(new Paciente("Paciente", 4));
fila.add(new Paciente("Paciente", 3));
System.out.println(fila.toString());
fila.add(new Paciente("Paciente", 2));
System.out.println(fila.toString());
}
}
de tal maneira que o resultado exibido é este:
[Paciente3, Paciente4]
[Paciente2, Paciente4, Paciente3]
O que comportamento não devia ser diferente? o paciente três que fora substituido pelo paciente dois, não deveria andar para o lado ao invés de ir para o final da fila??