Spec-Zone .ru
спецификации, руководства, описания, API
|
E
- тип элементов сохранен в этом набореpublic interface Deque<E> extends Queue<E>
Этот интерфейс определяет методы, чтобы получить доступ к элементам в обоих концах двухсторонней очереди. Методы обеспечиваются, чтобы вставить, удалить, и исследовать элемент. Каждый из этих методов существует в двух формах: каждый выдает исключение, если работа перестала работать, другие возвраты специальное значение (или null или false, в зависимости от работы). Последняя форма работы вставки специально разработана для использования с ограниченными емкостью реализациями Deque; в большинстве реализаций вставьте операции, не может перестать работать.
Эти двенадцать методов, описанных выше, получаются в итоге в следующей таблице:
Первый Элемент (Голова) | Последний Элемент (Хвост) | |||
Выдает исключение | Специальное значение | Выдает исключение | Специальное значение | |
Вставить | addFirst(e) |
offerFirst(e) |
addLast(e) |
offerLast(e) |
Удалить | removeFirst() |
pollFirst() |
removeLast() |
pollLast() |
Исследовать | getFirst() |
peekFirst() |
getLast() |
peekLast() |
Этот интерфейс расширяется Queue
интерфейс. Когда двухсторонняя очередь используется в качестве очереди, FIFO (Первым прибыл - первым убыл) результаты поведения. Элементы добавляются в конце двухсторонней очереди и удаляются с начала. Методы, наследованные от интерфейса Queue, точно эквивалентны методам Deque как обозначено в следующей таблице:
Метод Queue | Эквивалентный Метод Deque |
add(e) |
addLast(e) |
offer(e) |
offerLast(e) |
remove() |
removeFirst() |
poll() |
pollFirst() |
element() |
getFirst() |
peek() |
peekFirst() |
Двухсторонние очереди могут также использоваться, поскольку LIFO (В обратном порядке) складывает. Этот интерфейс должен использоваться в предпочтении к наследству Stack
класс. Когда двухсторонняя очередь используется в качестве стека, элементы продвигаются и выталкиваются с начала двухсторонней очереди. Методы стека точно эквивалентны методам Deque как обозначено в таблице ниже:
Метод стека | Эквивалентный Метод Deque |
push(e) |
addFirst(e) |
pop() |
removeFirst() |
peek() |
peekFirst() |
Отметьте что peek
метод работает одинаково хорошо, когда двухсторонняя очередь используется в качестве очереди или стека; в любом случае элементы оттягиваются с начала двухсторонней очереди.
Этот интерфейс обеспечивает два метода, чтобы удалить внутренние элементы, removeFirstOccurrence
и removeLastOccurrence
.
В отличие от этого List
интерфейс, этот интерфейс не оказывает поддержку для индексного доступа к элементам.
В то время как реализации Deque строго не обязаны запрещать вставку нулевых элементов, они строго поощряются сделать так. Пользователи любых реализаций Deque, которые позволяют нулевые элементы, строго поощряются не использовать в своих интересах возможность вставить, обнуляет. Это так, потому что null используется в качестве специального возвращаемого значения различными методами к обозначенному, что двухсторонняя очередь пуста.
Реализации Deque обычно не определяют основанные на элементе версии методов equals И hashCode, но вместо этого наследовали основанные на идентификационных данных версии от класса Object.
Этот интерфейс является элементом Платформы Наборов Java.
Модификатор и Тип | Метод и Описание |
---|---|
boolean |
add(E e)
Вставляет указанный элемент в очередь, представленную этой двухсторонней очередью (другими словами, в хвосте этой двухсторонней очереди), если возможно сделать так сразу, не нарушая ограничения емкости, возвращая true на успех и бросая IllegalStateException, если никакое пространство не в настоящий момент доступно.
|
void |
addFirst(E e)
Вставляет указанный элемент впереди этой двухсторонней очереди, если возможно сделать так сразу, не нарушая ограничения емкости.
|
void |
addLast(E e)
Вставляет указанный элемент в конце этой двухсторонней очереди, если возможно сделать так сразу, не нарушая ограничения емкости.
|
boolean |
contains(Object o)
true возвратов, если эта двухсторонняя очередь содержит указанный элемент.
|
Iterator<E> |
descendingIterator()
Возвращает iterator по элементам в этой двухсторонней очереди в обратном последовательном порядке.
|
E |
element()
Получает, но не удаляет, глава очереди, представленной этой двухсторонней очередью (другими словами, первый элемент этой двухсторонней очереди).
|
E |
getFirst()
Получает, но не удаляет, первый элемент этой двухсторонней очереди.
|
E |
getLast()
Получает, но не удаляет, последний элемент этой двухсторонней очереди.
|
Iterator<E> |
iterator()
Возвращает iterator по элементам в этой двухсторонней очереди в надлежащей последовательности.
|
boolean |
offer(E e)
Вставляет указанный элемент в очередь, представленную этой двухсторонней очередью (другими словами, в хвосте этой двухсторонней очереди), если возможно сделать так сразу, не нарушая ограничения емкости, возвращая true на успех и false, если никакое пространство не в настоящий момент доступно.
|
boolean |
offerFirst(E e)
Вставляет указанный элемент впереди этой двухсторонней очереди, если это не нарушило бы ограничения емкости.
|
boolean |
offerLast(E e)
Вставляет указанный элемент в конце этой двухсторонней очереди, если это не нарушило бы ограничения емкости.
|
E |
peek()
Получает, но не удаляет, глава очереди, представленной этой двухсторонней очередью (другими словами, первый элемент этой двухсторонней очереди), или возвращает null, если эта двухсторонняя очередь пуста.
|
E |
peekFirst()
Получает, но не удаляет, первый элемент этой двухсторонней очереди, или возвращает null, если эта двухсторонняя очередь пуста.
|
E |
peekLast()
Получает, но не удаляет, последний элемент этой двухсторонней очереди, или возвращает null, если эта двухсторонняя очередь пуста.
|
E |
poll()
Получает и удаляет главу очереди, представленной этой двухсторонней очередью (другими словами, первый элемент этой двухсторонней очереди), или возвращает null, если эта двухсторонняя очередь пуста.
|
E |
pollFirst()
Получает и удаляет первый элемент этой двухсторонней очереди, или возвращает null, если эта двухсторонняя очередь пуста.
|
E |
pollLast()
Получает и удаляет последний элемент этой двухсторонней очереди, или возвращает null, если эта двухсторонняя очередь пуста.
|
E |
pop()
Выталкивает элемент от стека, представленного этой двухсторонней очередью.
|
void |
push(E e)
Продвигает элемент на стек, представленный этой двухсторонней очередью (другими словами, во главе этой двухсторонней очереди), если возможно сделать так сразу, не нарушая ограничения емкости, возвращая true на успех и бросая IllegalStateException, если никакое пространство не в настоящий момент доступно.
|
E |
remove()
Получает и удаляет главу очереди, представленной этой двухсторонней очередью (другими словами, первый элемент этой двухсторонней очереди).
|
boolean |
remove(Object o)
Удаляет первое возникновение указанного элемента от этой двухсторонней очереди.
|
E |
removeFirst()
Получает и удаляет первый элемент этой двухсторонней очереди.
|
boolean |
removeFirstOccurrence(Object o)
Удаляет первое возникновение указанного элемента от этой двухсторонней очереди.
|
E |
removeLast()
Получает и удаляет последний элемент этой двухсторонней очереди.
|
boolean |
removeLastOccurrence(Object o)
Удаляет последнее вхождение указанного элемента от этой двухсторонней очереди.
|
int |
size()
Возвращает число элементов в этой двухсторонней очереди.
|
void addFirst(E e)
offerFirst(E)
.e
- элемент, чтобы добавитьIllegalStateException
- если элемент не может быть добавлен в это время из-за ограничений емкостиClassCastException
- если класс указанного элемента препятствует тому, чтобы это было добавлено к этой двухсторонней очередиNullPointerException
- если указанный элемент является нулем, и эта двухсторонняя очередь не разрешает нулевые элементыIllegalArgumentException
- если некоторое свойство указанного элемента препятствует тому, чтобы это было добавлено к этой двухсторонней очередиvoid addLast(E e)
offerLast(E)
. Этот метод эквивалентен add(E)
.
e
- элемент, чтобы добавитьIllegalStateException
- если элемент не может быть добавлен в это время из-за ограничений емкостиClassCastException
- если класс указанного элемента препятствует тому, чтобы это было добавлено к этой двухсторонней очередиNullPointerException
- если указанный элемент является нулем, и эта двухсторонняя очередь не разрешает нулевые элементыIllegalArgumentException
- если некоторое свойство указанного элемента препятствует тому, чтобы это было добавлено к этой двухсторонней очередиboolean offerFirst(E e)
addFirst(E)
метод, который может быть не в состоянии вставить элемент только, выдавая исключение.e
- элемент, чтобы добавитьClassCastException
- если класс указанного элемента препятствует тому, чтобы это было добавлено к этой двухсторонней очередиNullPointerException
- если указанный элемент является нулем, и эта двухсторонняя очередь не разрешает нулевые элементыIllegalArgumentException
- если некоторое свойство указанного элемента препятствует тому, чтобы это было добавлено к этой двухсторонней очередиboolean offerLast(E e)
addLast(E)
метод, который может быть не в состоянии вставить элемент только, выдавая исключение.e
- элемент, чтобы добавитьClassCastException
- если класс указанного элемента препятствует тому, чтобы это было добавлено к этой двухсторонней очередиNullPointerException
- если указанный элемент является нулем, и эта двухсторонняя очередь не разрешает нулевые элементыIllegalArgumentException
- если некоторое свойство указанного элемента препятствует тому, чтобы это было добавлено к этой двухсторонней очередиE removeFirst()
pollFirst
только в этом это выдает исключение, если эта двухсторонняя очередь пуста.NoSuchElementException
- если эта двухсторонняя очередь пустаE removeLast()
pollLast
только в этом это выдает исключение, если эта двухсторонняя очередь пуста.NoSuchElementException
- если эта двухсторонняя очередь пустаE pollFirst()
E pollLast()
E getFirst()
peekFirst
только в этом это выдает исключение, если эта двухсторонняя очередь пуста.NoSuchElementException
- если эта двухсторонняя очередь пустаE getLast()
peekLast
только в этом это выдает исключение, если эта двухсторонняя очередь пуста.NoSuchElementException
- если эта двухсторонняя очередь пустаE peekFirst()
E peekLast()
boolean removeFirstOccurrence(Object o)
o
- элемент, который будет удален из этой двухсторонней очереди, если существующийClassCastException
- если класс указанного элемента является несовместимым с этой (дополнительной) двухсторонней очередьюNullPointerException
- если указанный элемент является нулем, и эта двухсторонняя очередь не разрешает нулевые (дополнительные) элементыboolean removeLastOccurrence(Object o)
o
- элемент, который будет удален из этой двухсторонней очереди, если существующийClassCastException
- если класс указанного элемента является несовместимым с этой (дополнительной) двухсторонней очередьюNullPointerException
- если указанный элемент является нулем, и эта двухсторонняя очередь не разрешает нулевые (дополнительные) элементыboolean add(E e)
offer
. Этот метод эквивалентен addLast(E)
.
add
в интерфейсе Collection<E>
add
в интерфейсе Queue<E>
e
- элемент, чтобы добавитьCollection.add(E)
)IllegalStateException
- если элемент не может быть добавлен в это время из-за ограничений емкостиClassCastException
- если класс указанного элемента препятствует тому, чтобы это было добавлено к этой двухсторонней очередиNullPointerException
- если указанный элемент является нулем, и эта двухсторонняя очередь не разрешает нулевые элементыIllegalArgumentException
- если некоторое свойство указанного элемента препятствует тому, чтобы это было добавлено к этой двухсторонней очередиboolean offer(E e)
add(E)
метод, который может быть не в состоянии вставить элемент только, выдавая исключение. Этот метод эквивалентен offerLast(E)
.
offer
в интерфейсе Queue<E>
e
- элемент, чтобы добавитьClassCastException
- если класс указанного элемента препятствует тому, чтобы это было добавлено к этой двухсторонней очередиNullPointerException
- если указанный элемент является нулем, и эта двухсторонняя очередь не разрешает нулевые элементыIllegalArgumentException
- если некоторое свойство указанного элемента препятствует тому, чтобы это было добавлено к этой двухсторонней очередиE remove()
poll
только в этом это выдает исключение, если эта двухсторонняя очередь пуста. Этот метод эквивалентен removeFirst()
.
remove
в интерфейсе Queue<E>
NoSuchElementException
- если эта двухсторонняя очередь пустаE poll()
Этот метод эквивалентен pollFirst()
.
E element()
peek
только в этом это выдает исключение, если эта двухсторонняя очередь пуста. Этот метод эквивалентен getFirst()
.
element
в интерфейсе Queue<E>
NoSuchElementException
- если эта двухсторонняя очередь пустаE peek()
Этот метод эквивалентен peekFirst()
.
void push(E e)
Этот метод эквивалентен addFirst(E)
.
e
- элемент, чтобы продвинутьIllegalStateException
- если элемент не может быть добавлен в это время из-за ограничений емкостиClassCastException
- если класс указанного элемента препятствует тому, чтобы это было добавлено к этой двухсторонней очередиNullPointerException
- если указанный элемент является нулем, и эта двухсторонняя очередь не разрешает нулевые элементыIllegalArgumentException
- если некоторое свойство указанного элемента препятствует тому, чтобы это было добавлено к этой двухсторонней очередиE pop()
Этот метод эквивалентен removeFirst()
.
NoSuchElementException
- если эта двухсторонняя очередь пустаboolean remove(Object o)
Этот метод эквивалентен removeFirstOccurrence(java.lang.Object)
.
remove
в интерфейсе Collection<E>
o
- элемент, который будет удален из этой двухсторонней очереди, если существующийClassCastException
- если класс указанного элемента является несовместимым с этой (дополнительной) двухсторонней очередьюNullPointerException
- если указанный элемент является нулем, и эта двухсторонняя очередь не разрешает нулевые (дополнительные) элементыboolean contains(Object o)
contains
в интерфейсе Collection<E>
o
- элемент, присутствие которого в этой двухсторонней очереди должно быть протестированоClassCastException
- если тип указанного элемента является несовместимым с этой (дополнительной) двухсторонней очередьюNullPointerException
- если указанный элемент является нулем, и эта двухсторонняя очередь не разрешает нулевые (дополнительные) элементыint size()
size
в интерфейсе Collection<E>
Iterator<E> iterator()
Iterator<E> descendingIterator()
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.