Это мой первый пост здесь, поэтому не стесняйтесь указывать мне правильное направление в отношении формулировки вопроса здесь.
Моя проблема связана с java.util.PriorityQueue.очередь, которую я инициализирую;
myComparable comp = new myComparable();
PriorityQueue<someObject> prioritized = new PriorityQueue<someObject>(11, comp);
Я не думаю, что это имеет значение для вопроса, что находится в моей очереди или как реализован myComparable.
Затем я получаю неожиданный вывод:
prioritizedObject = prioritized.poll();
for(someObject otherObject : prioritized)
{
System.out.println(comp.compare(prioritizedObject, otherObject));
System.out.println(comp.equals(prioritizedObject, otherObject));
}
Для одного объекта в списке это печатает:
1
false
Как это может быть?Как я могу опрашивать () объект из очереди, в то время как используемый им компаратор говорит, что другой объект в очереди меньше?