日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OS Queue

Queue

public interface Queue
extends Collection

設(shè)計用于在處理之前保存元素的集合。 除了基本的 Collection 操作之外,隊列還提供了額外的插入、提取和檢查操作。 這些方法中的每一種都以兩種形式存在:一種在操作失敗時拋出異常,另一種返回一個特殊值(null 或 false,取決于操作)。 后一種形式的插入操作是專門為與容量受限的隊列實(shí)現(xiàn)一起使用而設(shè)計的; 在大多數(shù)實(shí)現(xiàn)中,插入操作不會失敗。

隊列通常但不一定以 FIFO(先進(jìn)先出)方式對元素進(jìn)行排序。 例外情況包括優(yōu)先級隊列,它根據(jù)提供的比較器或元素的自然順序?qū)υ剡M(jìn)行排序,以及對元素進(jìn)行排序的 LIFO 隊列(或堆棧) LIFO(后進(jìn)先出)。 無論使用何種排序,隊列的頭部都是將通過調(diào)用 remove() 或 poll() 刪除的元素。 在 FIFO 隊列中,所有新元素都插入到隊列的尾部。 其他類型的隊列可能使用不同的放置規(guī)則。 每個 Queue 實(shí)現(xiàn)都必須指定其排序?qū)傩浴?/p>

如果可能,offer 方法插入一個元素,否則返回 false。 這與 Collection.add 方法不同,后者只能通過拋出未經(jīng)檢查的異常才能添加元素。 offer 方法設(shè)計用于當(dāng)故障是正常而不是異常發(fā)生時使用,例如,在固定容量(或“有界”)隊列中。

remove() 和 poll() 方法刪除并返回隊列的頭部。 確切地從隊列中刪除哪個元素是隊列排序策略的函數(shù),該策略因?qū)崿F(xiàn)而異。 remove() 和 poll() 方法僅在隊列為空時的行為不同:remove() 方法拋出異常,而 poll() 方法返回 null。

element() 和 peek() 方法返回但不刪除隊列的頭部。

Queue 接口沒有定義并發(fā)編程中常見的阻塞隊列方法。 這些等待元素出現(xiàn)或空間可用的方法在 BlockingQueue 接口中定義,該接口擴(kuò)展了該接口。

隊列實(shí)現(xiàn)通常不允許插入 null 元素,盡管某些實(shí)現(xiàn),例如 LinkedList,不禁止插入 null。 即使在允許的實(shí)現(xiàn)中,也不應(yīng)該將 null 插入到隊列中,因?yàn)?null 也被 poll 方法用作特殊返回值,以指示隊列不包含任何元素。

隊列實(shí)現(xiàn)通常不定義方法 equals 和 hashCode 的基于元素的版本,而是從類 Object 繼承基于標(biāo)識的版本,因?yàn)閷τ诰哂邢嗤氐哂胁煌判驅(qū)傩缘年犃?,基于元素的相等性并不總是很好地定義。

此接口是 Java 集合框架的成員。

方法總結(jié)

修飾符和類型方法描述
booleanadd(E e)如果可以在不違反容量限制的情況下立即將指定元素插入此隊列,則在成功時返回 true,如果當(dāng)前沒有可用空間則拋出 IllegalStateException。
Eelement()檢索但不刪除此隊列的頭部。
booleanoffer(E e)如果可以在不違反容量限制的情況下立即插入,則將指定元素插入此隊列。
Epeek()檢索但不刪除此隊列的頭部,如果此隊列為空,則返回 null。
Epoll()檢索并刪除此隊列的頭部,如果此隊列為空,則返回 null。
Eremove()檢索并刪除此隊列的頭部。
從接口 java.util.Collection 繼承的方法
addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, parallelStream, remove, removeAll, removeIf, retainAll, size, spliterator, stream, toArray, toArray
從接口 java.lang.Iterable 繼承的方法
forEach

方法詳情

add

boolean add(E e)

如果可以在不違反容量限制的情況下立即將指定元素插入此隊列,則在成功時返回 true,如果當(dāng)前沒有可用空間則拋出 IllegalStateException。

指定者:

添加接口CollectionE

參數(shù):

參數(shù)名稱參數(shù)描述
e要添加的元素

返回:

true(由 Collection#add 指定)

Throws:

Throw名稱Throw描述
IllegalStateException如果此時由于容量限制無法添加元素
ClassCastException如果指定元素的類阻止它被添加到這個隊列
NullPointerException如果指定元素為空且此隊列不允許空元素
IllegalArgumentException如果此元素的某些屬性阻止它被添加到此隊列中

offer

boolean offer(E e)

如果可以在不違反容量限制的情況下立即插入,則將指定元素插入此隊列。 當(dāng)使用容量受限的隊列時,這種方法通常比 add(E) 更可取,add(E) 只能通過拋出異常來插入元素失敗。

參數(shù):

參數(shù)名稱參數(shù)描述
e要添加的元素

返回:

如果元素已添加到此隊列,則為 true,否則為 false

Throws:

Throw名稱Throw描述
ClassCastException如果指定元素的類阻止它被添加到這個隊列
NullPointerException如果指定元素為空且此隊列不允許空元素
IllegalArgumentException如果此元素的某些屬性阻止它被添加到此隊列中

remove

E remove()

檢索并刪除此隊列的頭部。 此方法與 poll 的不同之處僅在于如果此隊列為空,它將引發(fā)異常。

返回:

這個隊列的頭

Throws:

Throw名稱Throw描述
NoSuchElementException如果此隊列為空

poll

E poll()

檢索并刪除此隊列的頭部,如果此隊列為空,則返回 null。

返回:

此隊列的頭部,如果此隊列為空,則返回 null

element

E element()

檢索但不刪除此隊列的頭部。 此方法與 peek 的不同之處僅在于如果此隊列為空,它將引發(fā)異常。

返回:

這個隊列的頭

Throws:

Throw名稱Throw描述
NoSuchElementException如果此隊列為空

peek

E peek()

檢索但不刪除此隊列的頭部,如果此隊列為空,則返回 null。

返回:

此隊列的頭部,如果此隊列為空,則返回 null


文章名稱:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OS Queue
網(wǎng)頁鏈接:http://www.5511xx.com/article/dhgshcg.html