Java 中的 Deque 介面
java.util.Deque 介面是 java.util.Queue 介面的子型別,它支援在兩端插入和刪除元素。
介面宣告
public interface Deque<E> extends Queue<E>
ArrayDeque 類
java.util.ArrayDeque 類提供可調整大小的陣列並實現 Deque 介面。以下是關於陣列雙端佇列的重要要點:
陣列雙端佇列沒有容量限制,因此它們根據需要增長以支援使用。
它們不是執行緒安全的;在沒有外部同步的情況下。
它們不支援多個執行緒的併發訪問。
陣列雙端佇列中不允許使用空元素。
它們比 Stack 和 LinkedList 更快。
此類及其迭代器實現了 Collection 和 Iterator 介面的所有可選方法。
類宣告
以下是 java.util.ArrayDeque 類的宣告:
public class ArrayDeque<E> extends AbstractCollection<E> implements Deque<E>, Cloneable, Serializable
這裡 <E> 表示一個元素,可以是任何類。例如,如果您正在構建一個整數的陣列列表,那麼您將將其初始化為:
ArrayList<Integer> list = new ArrayList<Integer>();
類建構函式
| 序號 | 建構函式 & 描述 |
|---|---|
| 1 | ArrayDeque() 此建構函式用於建立一個空陣列雙端佇列,其初始容量足以容納 16 個元素。 |
| 2 | ArrayDeque(Collection<? extends E> c) 此建構函式用於建立一個包含指定集合中元素的雙端佇列。 |
| 3 | ArrayDeque(int numElements) 此建構函式用於建立一個空陣列雙端佇列,其初始容量足以容納指定數量的元素。 |
示例
import java.util.ArrayDeque;
import java.util.Deque;
public class Tester {
public static void main(String[] args) {
// create an empty array deque with an initial capacity
Deque<Integer> deque = new ArrayDeque<Integer>(5);
// use add() method to add elements in the deque
deque.add(20);
deque.add(30);
deque.add(20);
deque.add(30);
deque.add(15);
deque.add(22);
deque.add(11);
// let us print all the elements available in deque
for (Integer number : deque) {
System.out.println("Number = " + number);
}
// getFirst() will retrieve element at first position
int first = deque.getFirst();
System.out.println("Retrieved Element is = " + first);
// getLast() will retrieve element at last position
int last = deque.getLast();
System.out.println("Retrieved Element is = " + last);
}
}輸出
Number = 20 Number = 30 Number = 20 Number = 30 Number = 15 Number = 22 Number = 11 Retrieved Element is = 20 Retrieved Element is = 11
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP