両方のエントリが他のペアのエントリよりも厳密に小さい場合はペアが別のペアよりも小さく、両方のエントリが他のペアのエントリよりも厳密に大きい場合は他のペアよりも大きいと見なされる整数のペアを優勢に並べ替えようとしています。ペア。他のすべてのケースは、比類のないものと見なされます。
私がこれを解決したいのはComparator
、上記を実装する a を定義することですが、比較できない場合には例外をスローし、それを a に提供しPriorityQueue
ます。もちろん、ペアを挿入している間、優先キューは新しいエントリをヒープ内の正しい位置までバブリングしながらいくつかの比較を行います。これらの多くは比較できます。ただし、バブリング プロセス中に、この新しいペアとは比較にならないペアが検出され、例外がスローされる場合があります。これが発生した場合、の状態はどうなりますPriorityQueue
か? 挿入しようとしていたペアは、例外がスローされる前の最後の位置でヒープに配置されますか? PriorityQueue's remove(Object o)
この方法を使用するPriorityQueue
と、一貫した状態に復元されますか?
ありがとう