Java 教程

Java 控制語句

面向物件程式設計

Java 內建類

Java 檔案處理

Java 錯誤與異常

Java 多執行緒

Java 同步

Java 網路

Java 集合

Java 介面

Java 資料結構

Java 集合演算法

高階 Java

Java 雜項

Java API 與框架

Java 類參考

Java 有用資源

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
廣告

© . All rights reserved.