W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
java.lang.Object
|---java.util.AbstractCollection<E&
|---|---java.util.AbstractQueue<E&
public abstract class AbstractQueue<E>
extends AbstractCollection<E>
implements Queue<E>
這個(gè)類提供了一些 Queue 操作的骨架實(shí)現(xiàn)。 當(dāng)基本實(shí)現(xiàn)不允許空元素時(shí),此類中的實(shí)現(xiàn)是合適的。 add、remove 和 element 方法分別基于 offer、poll 和 peek,但會(huì)拋出異常,而不是通過 false 或 null 返回來指示失敗。
擴(kuò)展此類的 Queue 實(shí)現(xiàn)必須至少定義一個(gè)不允許插入空元素的方法 Queue#offer,以及方法 Queue#peek、Queue#poll、Collection#size 和 Collection#iterator。 通常,其他方法也會(huì)被覆蓋。 如果無法滿足這些要求,請(qǐng)考慮將 AbstractCollection 子類化。
此類是 Java 集合框架的成員。
修飾符 | 構(gòu)造函數(shù) | 描述 |
---|---|---|
protected | AbstractQueue() | 子類使用的構(gòu)造函數(shù)。 |
修飾符和類型 | 方法 | 描述 |
---|---|---|
boolean | add(E e) | 如果可以在不違反容量限制的情況下立即將指定元素插入此隊(duì)列,則在成功時(shí)返回 true,如果當(dāng)前沒有可用空間則拋出 IllegalStateException。 |
boolean | addAll(Collection<? extends E> c) | 將指定集合中的所有元素添加到此隊(duì)列。 |
void | clear() | 從此隊(duì)列中刪除所有元素。 |
E | element() | 檢索但不刪除此隊(duì)列的頭部。 |
E | remove() | 檢索并刪除此隊(duì)列的頭部。 |
從類 java.util.AbstractCollection 繼承的方法 |
---|
contains, containsAll, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray, toString |
從接口 java.util.Collection 繼承的方法 |
---|
contains, containsAll, equals, hashCode, isEmpty, iterator, parallelStream, remove, removeAll, removeIf, retainAll, size, spliterator, stream, toArray, toArray |
從接口 java.lang.Iterable 繼承的方法 |
---|
forEach |
從類 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
從接口 java.util.Queue 繼承的方法 |
---|
offer, peek, poll |
protected AbstractQueue()
子類使用的構(gòu)造函數(shù)。
public boolean add(E e)
如果可以在不違反容量限制的情況下立即將指定元素插入此隊(duì)列,則在成功時(shí)返回 true,如果當(dāng)前沒有可用空間則拋出 IllegalStateException。
如果 offer 成功,此實(shí)現(xiàn)返回 true,否則拋出 IllegalStateException。
指定者:
添加接口CollectionE
指定者:
添加接口QueueE
覆蓋:
添加類 AbstractCollectionE
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
e | 要添加的元素 |
返回:
true(由 Collection#add 指定)
Throws:
Throw名稱 | Throw描述 |
---|---|
IllegalStateException | 如果此時(shí)由于容量限制無法添加元素 |
ClassCastException | 如果指定元素的類阻止它被添加到這個(gè)隊(duì)列 |
NullPointerException | 如果指定元素為空且此隊(duì)列不允許空元素 |
IllegalArgumentException | 如果此元素的某些屬性阻止它被添加到此隊(duì)列中 |
public E remove()
檢索并刪除此隊(duì)列的頭部。 此方法與 poll 的不同之處僅在于如果此隊(duì)列為空,它將引發(fā)異常。
此實(shí)現(xiàn)返回 poll 的結(jié)果,除非隊(duì)列為空。
指定者:
在接口 QueueE 中刪除
返回:
這個(gè)隊(duì)列的頭
Throws:
Throw名稱 | Throw描述 |
---|---|
NoSuchElementException | 如果此隊(duì)列為空 |
public E element()
檢索但不刪除此隊(duì)列的頭部。 此方法與 peek 的不同之處僅在于如果此隊(duì)列為空,它將引發(fā)異常。
此實(shí)現(xiàn)返回 peek 的結(jié)果,除非隊(duì)列為空。
指定者:
接口 QueueE 中的元素
返回:
這個(gè)隊(duì)列的頭
Throws:
Throw名稱 | Throw描述 |
---|---|
NoSuchElementException | 如果此隊(duì)列為空 |
public void clear()
從此隊(duì)列中刪除所有元素。 此調(diào)用返回后,隊(duì)列將為空。
此實(shí)現(xiàn)重復(fù)調(diào)用 poll 直到它返回 null。
指定者:
在界面 CollectionE 中清除
覆蓋:
在類 AbstractCollectionE 中清除
public boolean addAll(Collection<? extends E> c)
將指定集合中的所有元素添加到此隊(duì)列。 嘗試將隊(duì)列的所有內(nèi)容添加到自身會(huì)導(dǎo)致 IllegalArgumentException。 此外,如果在操作正在進(jìn)行時(shí)修改了指定的集合,則此操作的行為是未定義的。
此實(shí)現(xiàn)迭代指定的集合,并將迭代器返回的每個(gè)元素依次添加到此隊(duì)列中。 嘗試添加元素(尤其包括空元素)時(shí)遇到的運(yùn)行時(shí)異常可能會(huì)導(dǎo)致在引發(fā)相關(guān)異常時(shí)只有部分元素已成功添加。
指定者:
接口 CollectionE 中的 addAll
覆蓋:
類 AbstractCollectionE 中的 addAll
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
c | 包含要添加到此隊(duì)列的元素的集合 |
返回:
如果此隊(duì)列因調(diào)用而更改,則為 true
Throws:
Throw名稱 | Throw描述 |
---|---|
ClassCastException | 如果指定集合的元素的類阻止它被添加到此隊(duì)列 |
NullPointerException | 如果指定的集合包含空元素并且此隊(duì)列不允許空元素,或者指定的集合為空 |
IllegalArgumentException | 如果指定集合的元素的某些屬性阻止它被添加到此隊(duì)列,或者指定集合是此隊(duì)列 |
IllegalStateException | 如果由于插入限制,此時(shí)不能添加所有元素 |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: