La implementación de la cola de prioridad en la biblioteca estándar de Java parece ser una cola de prioridad mínima que encuentro algo confusa. Para convertirlo en uno máximo, creé un objeto comparador personalizado.Cambio de la prioridad de JavaDebido a un PQ máximo
Comparator<Integer> cmp = new Comparator<Integer>()
{
public int compare(Integer x, Integer y)
{
return y - x;
}
};
Me preguntaba si había una solución más elegante. Básicamente, no quería una cola de prioridad genérica que pudiera usarse para implementar Dijkstras, etc. Ni siquiera me di cuenta de que habría una que operara en reversa:/
Java 8 agrega un constructor que solo tiene un Comparador (https://docs.oracle.com/javase/8/docs/api/java/util/PriorityQueue.html), por lo tanto, si está utilizando Java 8, no tiene que proporcionar la capacidad inicial. – tsleyson