2016-08-07 2 views
6

В чем разница между ними? Я знаю, чтоQueue vs Dequeue in java

Очередь предназначена для размещения элементов в конце очереди и элементов, удаленных с начала очереди. Здесь, где Dequeue представляет собой очередь, в которую вы можете вставлять и удалять элементы с обоих концов очереди.

Но что более эффективно?

Плюс в чем разница между ними? потому что у меня есть немного знаний о них, что я сказал выше, но я хотел бы узнать больше о них. Это будет оценено.

+0

Возможно, вам понравился javadoc. –

+1

Эффективность для чего? –

+0

Я уже видел javadoc, но я все равно не получил много. так вот почему я спросил здесь, если кто-то может мне помочь ... –

ответ

3

Deque and queue - абстрактные типы данных, которые могут быть реализованы по-разному. Чтобы говорить о производительности, вам нужно указать, какие реализации вы хотите сравнить, и какие операции, которые вас интересуют. Еще лучше, сделайте сам тест с рабочей нагрузкой вашего приложения и в среде, которую вы собираетесь использовать (аппаратное обеспечение, операционная система, версия JVM).

Поскольку каждый дека также является очередью, в общем вы можете сказать, что deques может быть не хуже, чем очереди.

14

Deque короткий для «двойной очереди». С обычной очередью вы добавляете вещи в один конец и берете их из другого. С двойной завершенной очередью вы можете добавить что-то к концу, и взять их с обоих концов. Это делает его более универсальным; например, вы могли бы использовать его как стек, если хотите.

С точки зрения эффективности, это действительно зависит от реализации. Но, вообще говоря, вы не ожидали бы, что deque превысит очередь, потому что (одиночная завершенная) очередь может быть реализована таким образом, чтобы не добавлять или удалять объекты на «неправильном» конце. В то время как любая реализация deque также будет работать как реализация очереди.

Смежные вопросы