重複の可能性:
Java:優先キューから作成されたキューの順序がおかしい
次のコンパレータを実装して、優先キューをキューに変えるのに疲れました。
- ハック:QueueComparatorは、常に1を返すことにより、PriorityQueueをキュー(FIFO)のように動作させます。
- 優先キューの「自然順序付け」は先頭に最小の要素があり、従来のコンパレータは最初が2番目よりも小さい場合に-1を返すため、ハッキングされたコンパレータは常に1を返し、現在の(最後の)正方形が配置されます。末尾で(再帰的に)
コードは次のとおりです。
import java.util.Comparator;
public class QueueComparator implements Comparator<Square>{
public int compare(Square square1, Square square2)
{
return 1;
}
}
しかし、結果として生じる「キュー」は、物事を整理しません(FIFO)。なんで?