Ich habe eine Instanz von PriorityQueue<SomePlayerObject>
. Es wurde mit einer Comparator
konstruiert, die eine Anordnung auferlegt, die mit equals inkonsistent ist: sie ordert SomePlayerObject
basierend auf der Zeit, zu der der Spieler online war.Elemente aus der Prioritätswarteschlange auswählen, die den Kriterien entsprechen
SomePlayerObject
hat eine Methode: boolean isValid()
.
Ich möchte poll()
von der PriorityQueue
das erste Element (nach dem benutzerdefinierten Komparator), die die Kriterien, die isValid
erfüllt wahr zurückgibt.
Ist das möglich?
Aber 'poll()' entfernt Elemente aus der Warteschlange und der Status von 'isValid()' kann sich ändern. Vielleicht ist 'PriorityQueue' nicht die beste Lösung? Das Element muss in der Warteschlange bleiben, um später möglicherweise darauf zuzugreifen. – konsolas
Offensichtlich nicht. Ich nehme an, Sie könnten die ungültigen Elemente wieder einfügen, nachdem Sie eine gültige gefunden haben, aber das ist das Beste, was Sie wirklich tun können. –
Danke, ich werde dann nach anderen Ideen suchen. – konsolas