2016-08-07 1 views
6

Quelle est la différence entre eux? Je sais queFile d'attente vs Dequeue dans Java

Une file d'attente est conçue pour avoir des éléments insérés à la fin de la file d'attente, et des éléments retirés du début de la file d'attente. Où Dequeue représente une file d'attente dans laquelle vous pouvez insérer et supprimer des éléments des deux extrémités de la file d'attente.

Mais lequel est le plus efficace?

Plus quelle est la différence entre eux deux? Parce que j'ai un peu de connaissance à leur sujet, ce que j'ai dit plus haut, mais je voudrais en savoir plus sur eux. Ce sera apprécié.

+0

Le javadoc peut être utile. –

+1

Efficacité pour quoi? –

+0

J'ai déjà vu javadoc mais je n'ai toujours pas eu beaucoup. donc c'est pourquoi j'ai demandé ici, si quelqu'un peut m'aider ... –

Répondre

3

La mémoire et la file d'attente sont des types de données abstraits qui peuvent être implémentés de différentes manières. Pour parler de performance, vous devez spécifier les implémentations que vous souhaitez comparer et les opérations qui vous intéressent. Mieux encore, faites le benchmark avec la charge de travail de votre application et dans l'environnement que vous allez utiliser (matériel, système d'exploitation, version JVM).

Puisque chaque deque est aussi une file d'attente, en général vous pouvez dire que les deques peuvent être au plus aussi bien qu'une queue.

14

Deque est l'abréviation de "double ended ended file". Avec une file d'attente ordinaire, vous ajoutez des choses à une extrémité et les prenez de l'autre. Avec une file d'attente à double fin, vous pouvez ajouter des choses à chaque extrémité, et les prendre à chaque extrémité. Cela le rend un peu plus polyvalent; Par exemple, vous pouvez l'utiliser en pile si vous le souhaitez.

En termes d'efficacité, cela dépend vraiment de la mise en œuvre. Mais d'une manière générale, vous ne vous attendez pas à ce qu'une deque surpasse une file d'attente, car une file d'attente (single ended) pourrait être implémentée d'une manière qui ne permet pas d'ajouter ou de supprimer des objets à la "mauvaise" extrémité. Alors que toute implémentation d'un deque fonctionnerait aussi comme une implémentation d'une file d'attente.