
- Java.util 包類
- Java.util - 首頁
- Java.util - ArrayDeque
- Java.util - ArrayList
- Java.util - Arrays
- Java.util - BitSet
- Java.util - Calendar
- Java.util - Collections
- Java.util - Currency
- Java.util - Date
- Java.util - Dictionary
- Java.util - EnumMap
- Java.util - EnumSet
- Java.util - Formatter
- Java.util - GregorianCalendar
- Java.util - HashMap
- Java.util - HashSet
- Java.util - Hashtable
- Java.util - IdentityHashMap
- Java.util - LinkedHashMap
- Java.util - LinkedHashSet
- Java.util - LinkedList
- Java.util - ListResourceBundle
- Java.util - Locale
- Java.util - Observable
- Java.util - PriorityQueue
- Java.util - Properties
- Java.util - PropertyPermission
- Java.util - PropertyResourceBundle
- Java.util - Random
- Java.util - ResourceBundle
- Java.util - ResourceBundle.Control
- Java.util - Scanner
- Java.util - ServiceLoader
- Java.util - SimpleTimeZone
- Java.util - Stack
- Java.util - StringTokenizer
- Java.util - Timer
- Java.util - TimerTask
- Java.util - TimeZone
- Java.util - TreeMap
- Java.util - TreeSet
- Java.util - UUID
- Java.util - Vector
- Java.util - WeakHashMap
- Java.util 包擴充套件
- Java.util - 介面
- Java.util - 異常
- Java.util - 列舉
- Java.util 有用資源
- Java.util - 有用資源
- Java.util - 討論
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