Java - Deque 介面



Deque 介面在 java.util 包中提供,它擴充套件了 Queue 介面。它是一個線性集合,支援在兩端插入和刪除元素。此介面定義了訪問雙端佇列兩端元素的方法。提供了插入、刪除和檢查元素的方法。

宣告

public interface Deque<E>
   extends Queue<E>

Deque 方法

以下是 Deque 介面的所有實現類實現的重要雙端佇列方法列表 -

序號 方法及描述
1 boolean add(E e)

此方法將指定的元素插入到此雙端隊列表示的佇列中(換句話說,在此雙端佇列的尾部),如果可以立即在不違反容量限制的情況下這樣做,則返回 true,如果當前沒有可用空間,則丟擲 IllegalStateException。

2 boolean addAll(Collection<? extends E> c)

此方法將指定集合中的所有元素新增到此雙端佇列的末尾,就像對每個元素呼叫 addLast(E) 一樣,按照集合的迭代器返回它們的順序。

3 void addFirst(E e)

此方法將指定的元素插入到此雙端佇列的前面,如果可以立即在不違反容量限制的情況下這樣做,如果當前沒有可用空間,則丟擲 IllegalStateException。

4 void addLast(E e)

此方法將指定的元素插入到此雙端佇列的末尾,如果可以立即在不違反容量限制的情況下這樣做,如果當前沒有可用空間,則丟擲 IllegalStateException。

5 boolean contains(Object o)

此方法如果此雙端佇列包含指定的元素,則返回 true。

6 Iterator<E> descendingIterator()

此方法返回一個迭代器,該迭代器以相反的順序遍歷此雙端佇列中的元素。

7 E element()

此方法檢索但不刪除此雙端隊列表示的佇列的頭(換句話說,此雙端佇列的第一個元素)。

8 E getFirst()

此方法檢索但不刪除此雙端佇列的第一個元素。

9 E getLast()

此方法檢索但不刪除此雙端佇列的最後一個元素。

10 Iterator<E> iterator()

此方法返回一個迭代器,該迭代器按正確的順序遍歷此雙端佇列中的元素。

11 boolean offer(E e)

此方法將指定的元素插入到此雙端隊列表示的佇列中(換句話說,在此雙端佇列的尾部),如果可以立即在不違反容量限制的情況下這樣做,則返回 true,如果當前沒有可用空間,則返回 false。

12 boolean offerFirst(E e)

此方法將指定的元素插入到此雙端佇列的前面,除非這會違反容量限制。

13 boolean offerLast(E e)

此方法將指定的元素插入到此雙端佇列的末尾,除非這會違反容量限制。

14 E peek()

此方法檢索但不刪除此雙端隊列表示的佇列的頭(換句話說,此雙端佇列的第一個元素),或者如果此雙端佇列為空,則返回 null。

15 E peekFirst()

此方法檢索但不刪除此雙端佇列的第一個元素,或者如果此雙端佇列為空,則返回 null。

16 E peekLast()

此方法檢索但不刪除此雙端佇列的最後一個元素,或者如果此雙端佇列為空,則返回 null。

17 E poll()

此方法檢索並刪除此雙端隊列表示的佇列的頭(換句話說,此雙端佇列的第一個元素),或者如果此雙端佇列為空,則返回 null。

18 E pollFirst()

此方法檢索並刪除此雙端佇列的第一個元素,或者如果此雙端佇列為空,則返回 null。

19 E pollLast()

此方法檢索並刪除此雙端佇列的最後一個元素,或者如果此雙端佇列為空,則返回 null。

20 E pop()

此方法從此雙端隊列表示的棧中彈出元素。

21 void push(E e)

此方法將元素推送到此雙端隊列表示的棧上(換句話說,在此雙端佇列的頭部),如果可以立即在不違反容量限制的情況下這樣做,如果當前沒有可用空間,則丟擲 IllegalStateException。

22 E remove()

此方法檢索並刪除此雙端隊列表示的佇列的頭(換句話說,此雙端佇列的第一個元素)。

23 E removeFirst()

此方法檢索並刪除此雙端佇列的第一個元素。

24 boolean removeFirstOccurrence(Object o)

此方法從此雙端佇列中刪除指定元素的第一次出現。

25 E removeLast()

此方法檢索並刪除此雙端佇列的最後一個元素。

26 boolean removeLastOccurrence(Object o)

此方法從此雙端佇列中刪除指定元素的最後一次出現。

27 int size()

此方法返回此雙端佇列中的元素數。

繼承的方法

此介面繼承自以下介面 -

  • java.util.Queue
  • java.util.Collection
  • java.lang.Iterable

示例

在此示例中,我們使用 Deque 例項來顯示雙端佇列的新增、窺視和大小操作。

package com.tutorialspoint;

import java.util.ArrayDeque;
import java.util.Deque;

public class DequeDemo {
   public static void main(String[] args) {
      Deque<Integer> q = new ArrayDeque<>();
      q.add(6);
      q.add(1);
      q.add(8);
      q.add(4);
      q.add(7);
      System.out.println("The deque is: " + q);
      int num1 = q.remove();
      System.out.println("The element deleted from the head is: " + num1);
      System.out.println("The deque after deletion is: " + q);
      int head = q.peek();
      System.out.println("The head of the deque is: " + head);
      int size = q.size();
      System.out.println("The size of the deque is: " + size);
   }
}

輸出

The deque is: [6, 1, 8, 4, 7]
The element deleted from the head is: 6
The deque after deletion is: [1, 8, 4, 7]
The head of the deque is: 1
The size of the deque is: 4
廣告