- 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