PriorityQueue
implémente Queue
, mais est PriorityQueue
une structure de données FIFO comme Queue
?PriorityQueue est une file d'attente FIFO?
Répondre
Depuis l'interface Queue:
Queues en général, mais ne sont pas nécessairement, des éléments de commande d'une manière FIFO (first-in-first-out). Parmi les exceptions sont les files d'attente prioritaires, qui commandent des éléments selon un comparateur fourni, ou les éléments de commande naturel
Alors PriorityQueue est une exception et il devient une file d'attente FIFO uniquement si les types de comparaison dans cet ordre.
Non, ce n'est pas le cas. Selon Javadoc
Les éléments de la file d'attente de priorité sont ordonnées selon leur ordre naturel, ou par un comparateur prévu au moment de la construction de files d'attente, selon le constructeur est utilisé
ET
La tête de cette file d'attente est le dernier élément par rapport à la commande spécifiée
+ 1, la commande pourrait théoriquement être FIFO, mais il est généralement utilisé pour quelque chose de plus intéressant. –
PriorityQueue ne se soucie pas de FIFO/LIFO. il gère la priorité. dans le cas de plusieurs objets avec la même priorité - vous ne pouvez pas compter sur un comportement FIFO LIFO.
Une file d'attente prioritaire est une structure de données qui conserve les éléments dans un ordre interne cohérent - dans l'implémentation Java, cette commande est spécifiée au moment de la construction. La tête de la file d'attente et l'ordre des autres éléments sont déterminés par les critères de commande que vous spécifiez. Par exemple, supposons que vous ayez une classe PriorityQueue contenant des élèves, et que l'ordre que vous définissez corresponde à l'âge ascendant - la tête de la file contiendra l'élève le plus jeune et la queue sera la plus ancienne. Au fur et à mesure que vous ajoutez à PriorityQueue, l'étudiant sera inséré dans la bonne position en fonction de son âge, car c'est la commande que vous avez spécifiée, l'ordre de leur insertion n'est pas pertinent.
- 1. Constructeur Java PriorityQueue (PriorityQueue)
- 2. Changement PriorityQueue max PriorityQueue
- 3. Groovy - Scinder une chaîne en une file d'attente FIFO
- 4. File d'attente série FIFO utilisant GCD
- 5. Implémentation d'une file d'attente FIFO en C
- 6. Synchronisation Linux avec file d'attente FIFO
- 7. File d'attente FIFO avec un pointeur
- 8. Symbole pour une FIFO/file d'attente en dia?
- 9. Réorganiser la file d'attente Fifo en fonction de la variable
- 10. Zend Framework Cron pour la file d'attente FIFO
- 11. ActiveMQ ou toute file d'attente de messagerie - exigence FIFO
- 12. La file d'attente prioritaire C++ ne respecte pas l'ordre FIFO
- 13. PriorityQueue, insertion avec priorité
- 14. PriorityQueue et comparateur
- 15. Java Help: PriorityQueue
- 16. ArrayList cast à PriorityQueue + java
- 17. Empêcher FIFO de fermeture/réutilisation fermée FIFO
- 18. Suppression du haut de PriorityQueue?
- 19. Est-ce que dispatch_semaphore_wait n'est pas FIFO?
- 20. PriorityQueue et PriorityBlockingQueue
- 21. Quel est le symbole d'une file d'attente?
- 22. Une implémentation de file d'attente FIFO sans verrouillage optimiste existe-t-elle?
- 23. Exécution d'une simulation FIFO
- 24. Ordre Python PriorityQueue
- 25. Java: PriorityQueue retourne une commande incorrecte du comparateur personnalisé?
- 26. java priorityQueue problème de mise à jour
- 27. node.js mplayer fifo control
- 28. fifo queue dans Firebase
- 29. PriorityQueue avec des paramètres externes
- 30. Ordonnancement étrange dans PriorityQueue en Java
il est basé sur la priorité, pas basé sur la commande – Elbek