Java PriorityQueue Comparateur - Comment/Quand vous triez?

Je suis initialiser une File d'attente de Priorité comme:

strategy = new FuelPriority();
incoming = new PriorityQueue<Vehicle>(1, strategy);

Le code de mon Comparateur de classe est:

public class FuelPriority implements Comparator<Object> {

public int compare(Object o1, Object o2) {

    Vehicle a1 = (Vehicle) o1;
    Vehicle a2 = (Vheicle) o2;

    return Integer.compare(a1.getFuelLevel(), a2.getFuelLevel());
  }
}

Après l'exécution d'une simulation, les éléments ne sont pas ordonné à tous - ils sont aléatoires; j'ai mis un point d'arrêt dans la méthode de comparaison de mon FuelPriority classe, mais elle n'était pas appelée à tous.
Suis-je manqué quelque chose?

OriginalL'auteur Connor Cartwright | 2014-04-01