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

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

新聞中心

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

ArrayDeque

成都創(chuàng)新互聯(lián)是一家專業(yè)提供龍子湖企業(yè)網(wǎng)站建設,專注與網(wǎng)站制作、成都做網(wǎng)站、H5頁面制作、小程序制作等業(yè)務。10年已為龍子湖眾多企業(yè)、政府機構等服務。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡公司優(yōu)惠進行中。

java.lang.Object

|---java.util.AbstractCollection

|---|---java.util.ArrayDeque

public class ArrayDeque
extends AbstractCollection
implements Deque, Cloneable, Serializable

Deque 接口的可調(diào)整大小的數(shù)組實現(xiàn)。 數(shù)組雙端隊列沒有容量限制; 它們會根據(jù)需要增長以支持使用。 它們不是線程安全的; 在沒有外部同步的情況下,它們不支持多線程并發(fā)訪問。 禁止使用空元素。 這個類在作為棧使用時可能比 Stack 快,作為隊列使用時比 LinkedList 快。

大多數(shù) ArrayDeque 操作在攤銷的常數(shù)時間內(nèi)運行。 例外情況包括 remove、removeFirstOccurrence、removeLastOccurrence、contains、iterator.remove() 和批量操作,所有這些操作都以線性時間運行。

此類的迭代器方法返回的迭代器是快速失敗的:如果在創(chuàng)建迭代器后的任何時間對雙端隊列進行了修改,除了通過迭代器自己的 remove 方法之外的任何方式,迭代器通常會拋出 ConcurrentModificationException。 因此,面對并發(fā)修改,迭代器快速而干凈地失敗,而不是在未來不確定的時間冒任意的、非確定性的行為。

請注意,不能保證迭代器的快速失敗行為,因為一般來說,在存在不同步的并發(fā)修改的情況下,不可能做出任何硬保證。 快速失敗的迭代器會盡最大努力拋出 ConcurrentModificationException。 因此,編寫一個依賴于這個異常的正確性的程序是錯誤的:迭代器的快速失敗行為應該只用于檢測錯誤。

此類及其迭代器實現(xiàn)了 Collection 和 Iterator 接口的所有可選方法。

此類是 Java 集合框架的成員。

構造函數(shù)摘要

構造函數(shù) 描述
ArrayDeque() 構造一個空數(shù)組雙端隊列,其初始容量足以容納 16 個元素。
ArrayDeque(int numElements) 構造一個空數(shù)組雙端隊列,其初始容量足以容納指定數(shù)量的元素。
ArrayDeque(Collection c) 按照集合的迭代器返回的順序構造一個包含指定集合元素的雙端隊列。

方法總結(jié)

修飾符和類型 方法 描述
boolean add(E e) 在此雙端隊列的末尾插入指定的元素。
void addFirst(E e) 在此雙端隊列的前面插入指定元素。
void addLast(E e) 在此雙端隊列的末尾插入指定的元素。
void clear() 從此雙端隊列中刪除所有元素。
ArrayDequeE clone() 返回此雙端隊列的副本。
boolean contains(Object o) 如果此雙端隊列包含指定元素,則返回 true。
IteratorE descendingIterator() 以相反的順序返回此雙端隊列中元素的迭代器。
E element() 檢索但不刪除此雙端隊列表示的隊列的頭部。
E getFirst() 檢索但不刪除此雙端隊列的第一個元素。
E getLast() 檢索但不刪除此雙端隊列的最后一個元素。
boolean isEmpty() 如果此雙端隊列不包含任何元素,則返回 true。
IteratorE iterator() 返回此雙端隊列中元素的迭代器。
boolean offer(E e) 在此雙端隊列的末尾插入指定的元素。
boolean offerFirst(E e) 在此雙端隊列的前面插入指定元素。
boolean offerLast(E e) 在此雙端隊列的末尾插入指定的元素。
E peek() 檢索但不刪除此雙端隊列表示的隊列的頭部,如果此雙端隊列為空,則返回 null。
E peekFirst() 檢索但不刪除此雙端隊列的第一個元素,如果此雙端隊列為空,則返回 null。
E peekLast() 檢索但不刪除此雙端隊列的最后一個元素,如果此雙端隊列為空,則返回 null。
E poll() 檢索并刪除此雙端隊列表示的隊列的頭部(換句話說,此雙端隊列的第一個元素),如果此雙端隊列為空,則返回 null。
E pollFirst() 檢索并刪除此雙端隊列的第一個元素,如果此雙端隊列為空,則返回 null。
E pollLast() 檢索并刪除此雙端隊列的最后一個元素,如果此雙端隊列為空,則返回 null。
E pop() 從這個雙端隊列表示的堆棧中彈出一個元素。
void push(E e) 將元素推送到此雙端隊列表示的堆棧上。
E remove() 檢索并刪除此雙端隊列表示的隊列的頭部。
boolean remove(Object o) 從此雙端隊列中移除指定元素的單個實例。
E removeFirst() 檢索并刪除此雙端隊列的第一個元素。
boolean removeFirstOccurrence(Object o) 刪除此雙端隊列中第一次出現(xiàn)的指定元素(從頭到尾遍歷雙端隊列時)。
E removeLast() 檢索并刪除此雙端隊列的最后一個元素。
boolean removeLastOccurrence(Object o) 刪除此雙端隊列中最后一次出現(xiàn)的指定元素(從頭到尾遍歷雙端隊列時)。
int size() 返回此雙端隊列中的元素數(shù)。
SpliteratorE spliterator() 在此雙端隊列中的元素上創(chuàng)建一個后期綁定和快速失敗的拆分器。
Object[] toArray() 以正確的順序(從第一個元素到最后一個元素)返回包含此雙端隊列中所有元素的數(shù)組。
 T[] toArray(T[] a) 以正確的順序(從第一個元素到最后一個元素)返回包含此雙端隊列中所有元素的數(shù)組; 返回數(shù)組的運行時類型是指定數(shù)組的運行時類型。
從類 java.util.AbstractCollection 繼承的方法
addAll, containsAll, removeAll, retainAll, toString
從接口 java.util.Collection 繼承的方法
addAll, containsAll, equals, hashCode, parallelStream, removeAll, removeIf, retainAll, stream
從接口 java.lang.Iterable 繼承的方法
forEach
從類 java.lang.Object 繼承的方法
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

構造函數(shù)詳細信息

ArrayDeque

public ArrayDeque()

構造一個空數(shù)組雙端隊列,其初始容量足以容納 16 個元素。

ArrayDeque

public ArrayDeque(int numElements)

構造一個空數(shù)組雙端隊列,其初始容量足以容納指定數(shù)量的元素。

參數(shù):

參數(shù)名稱 參數(shù)描述
numElements 雙端隊列初始容量的下限

ArrayDeque

public ArrayDeque(Collection c)

按照集合的迭代器返回的順序構造一個包含指定集合元素的雙端隊列。 (集合的迭代器返回的第一個元素成為第一個元素,或雙端隊列的前面。)

參數(shù):

參數(shù)名稱 參數(shù)描述
c 將其元素放入雙端隊列的集合

Throws:

Throw名稱 Throw描述
NullPointerException 如果指定的集合為空

方法詳情

addFirst

public void addFirst(E e)

在此雙端隊列的前面插入指定元素。

指定者:

接口 DequeE 中的 addFirst

參數(shù):

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

Throws:

Throw名稱 Throw描述
NullPointerException 如果指定元素為空

addLast

public void addLast(E e)

在此雙端隊列的末尾插入指定的元素。

此方法等效于 add(E)。

指定者:

接口 DequeE 中的 addLast

參數(shù):

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

Throws:

Throw名稱 Throw描述
NullPointerException 如果指定元素為空

offerFirst

public boolean offerFirst(E e)

在此雙端隊列的前面插入指定元素。

指定者:

接口 DequeE 中的 offerFirst

參數(shù):

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

返回:

true(由 Deque#offerFirst 指定)

Throws:

Throw名稱 Throw描述
NullPointerException 如果指定元素為空

offerLast

public boolean offerLast(E e)

在此雙端隊列的末尾插入指定的元素。

指定者:

接口 DequeE 中的 offerLast

參數(shù):

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

返回:

true(由 Deque#offerLast 指定)

Throws:

Throw名稱 Throw描述
NullPointerException 如果指定元素為空

removeFirst

public E removeFirst()

從接口復制的描述:雙端隊列

檢索并刪除此雙端隊列的第一個元素。 此方法與 pollFirst 的不同之處僅在于如果此雙端隊列為空,它將引發(fā)異常。

指定者:

接口 DequeE 中的 removeFirst

返回:

這個雙端隊列的頭

Throws:

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

removeLast

public E removeLast()

從接口復制的描述:雙端隊列

檢索并刪除此雙端隊列的最后一個元素。 此方法與 pollLast 的不同之處僅在于如果此雙端隊列為空,它將引發(fā)異常。

指定者:

接口 DequeE 中的 removeLast

返回:

這個雙端隊列的尾巴

Throws:

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

pollFirst

public E pollFirst()

從接口復制的描述:雙端隊列

檢索并刪除此雙端隊列的第一個元素,如果此雙端隊列為空,則返回 null。

指定者:

接口 DequeE 中的 pollFirst

返回:

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

pollLast

public E pollLast()

從接口復制的描述:雙端隊列

檢索并刪除此雙端隊列的最后一個元素,如果此雙端隊列為空,則返回 null。

指定者:

接口 DequeE 中的 pollLast

返回:

此雙端隊列的尾部,如果此雙端隊列為空,則返回 null

getFirst

public E getFirst()

從接口復制的描述:雙端隊列

檢索但不刪除此雙端隊列的第一個元素。 此方法與 peekFirst 的不同之處僅在于如果此雙端隊列為空,它將引發(fā)異常。

指定者:

接口 DequeE 中的 getFirst

返回:

這個雙端隊列的頭

Throws:

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

getLast

public E getLast()

從接口復制的描述:雙端隊列

檢索但不刪除此雙端隊列的最后一個元素。 此方法與 peekLast 的不同之處僅在于如果此雙端隊列為空,它將引發(fā)異常。

指定者:

接口 DequeE 中的 getLast

返回:

這個雙端隊列的尾巴

Throws:

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

peekFirst

public E peekFirst()

從接口復制的描述:雙端隊列

檢索但不刪除此雙端隊列的第一個元素,如果此雙端隊列為空,則返回 null。

指定者:

接口 DequeE 中的 peekFirst

返回:

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

peekLast

public E peekLast()

從接口復制的描述:雙端隊列

檢索但不刪除此雙端隊列的最后一個元素,如果此雙端隊列為空,則返回 null。

指定者:

接口 DequeE 中的 peekLast

返回:

此雙端隊列的尾部,如果此雙端隊列為空,則返回 null

removeFirstOccurrence

public boolean removeFirstOccurrence(Object o)

刪除此雙端隊列中第一次出現(xiàn)的指定元素(從頭到尾遍歷雙端隊列時)。 如果雙端隊列不包含該元素,則它保持不變。 更正式地說,刪除第一個元素 e 使得 o.equals(e) (如果存在這樣的元素)。 如果此雙端隊列包含指定元素(或等效地,如果此雙端隊列因調(diào)用而更改),則返回 true。

指定者:

接口 DequeE 中的 removeFirstOccurrence

參數(shù):

參數(shù)名稱 參數(shù)描述
o 要從此雙端隊列中刪除的元素(如果存在)

返回:

如果雙端隊列包含指定的元素,則為true

removeLastOccurrence

public boolean removeLastOccurrence(Object o)

刪除此雙端隊列中最后一次出現(xiàn)的指定元素(從頭到尾遍歷雙端隊列時)。 如果雙端隊列不包含該元素,則它保持不變。 更正式地說,刪除最后一個元素 e 使得 o.equals(e) (如果存在這樣的元素)。 如果此雙端隊列包含指定元素(或等效地,如果此雙端隊列因調(diào)用而更改),則返回 true。

指定者:

接口 DequeE 中的 removeLastOccurrence

參數(shù):

參數(shù)名稱 參數(shù)描述
o 要從此雙端隊列中刪除的元素(如果存在)

返回:

如果雙端隊列包含指定的元素,則為true

add

public boolean add(E e)

在此雙端隊列的末尾插入指定的元素。

此方法等效于 addLast(E)。

指定者:

添加接口CollectionE

指定者:

添加接口 DequeE

指定者:

添加接口QueueE

覆蓋:

添加類 AbstractCollectionE

參數(shù):

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

返回:

true(由 Collection#add 指定)

Throws:

Throw名稱 Throw描述
NullPointerException 如果指定元素為空

offer

public boolean offer(E e)

在此雙端隊列的末尾插入指定的元素。

此方法等效于 offerLast(E)。

指定者:

在接口 DequeE 中提供

指定者:

接口QueueE中的offer

參數(shù):

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

返回:

true(由 Queue#offer 指定)

Throws:

Throw名稱 Throw描述
NullPointerException 如果指定元素為空

remove

public E remove()

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

此方法等效于 removeFirst()。

指定者:

在接口 DequeE 中移除

指定者:

在接口 QueueE 中刪除

返回:

此雙端隊列表示的隊列的頭部

Throws:

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

poll

public E poll()

檢索并刪除此雙端隊列表示的隊列的頭部(換句話說,此雙端隊列的第一個元素),如果此雙端隊列為空,則返回 null。

此方法等效于 pollFirst()。

指定者:

接口 DequeE 中的輪詢

指定者:

在接口 QueueE 中輪詢

返回:

此雙端隊列表示的隊列的頭部,如果此雙端隊列為空,則返回 null

element

public E element()

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

此方法等效于 getFirst()。

指定者:

接口 DequeE 中的元素

指定者:

接口 QueueE 中的元素

返回:

此雙端隊列表示的隊列的頭部

Throws:

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

peek

public E peek()

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

此方法等效于 peekFirst()。

指定者:

查看界面 DequeE

指定者:

查看接口 QueueE

返回:

此雙端隊列表示的隊列的頭部,如果此雙端隊列為空,則返回 null

push

public void push(E e)

將元素推送到此雙端隊列表示的堆棧上。 換句話說,在這個雙端隊列的前面插入元素。

此方法等效于 addFirst(E)。

指定者:

推入接口 DequeE

參數(shù):

參數(shù)名稱 參數(shù)描述
e 要推動的元素

Throws:

Throw名稱 Throw描述
NullPointerException 如果指定元素為空

pop

public E pop()

從這個雙端隊列表示的堆棧中彈出一個元素。 換句話說,刪除并返回此雙端隊列的第一個元素。

此方法等效于 removeFirst()。

指定者:

彈出界面DequeE

返回:

這個雙端隊列前面的元素(這是這個雙端隊列表示的堆棧的頂部)

Throws:

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

size

public int size()

返回此雙端隊列中的元素數(shù)。

指定者:

接口 CollectionE 中的大小

指定者:

接口 DequeE 中的大小

指定者:

AbstractCollectionE 類中的大小

返回:

此雙端隊列中的元素數(shù)量

isEmpty

public boolean isEmpty()

如果此雙端隊列不包含任何元素,則返回 true。

指定者:

接口 CollectionE 中的 isEmpty

覆蓋:

類 AbstractCollectionE 中的 isEmpty

返回:

如果此雙端隊列不包含任何元素,則為 true

iterator

public IteratorE iterator()

返回此雙端隊列中元素的迭代器。 元素將從第一個(頭)到最后一個(尾)排序。 這與元素出列(通過連續(xù)調(diào)用 remove() 或彈出(通過連續(xù)調(diào)用 pop())的順序相同。

指定者:

接口 CollectionE 中的迭代器

指定者:

接口 DequeE 中的迭代器

指定者:

接口 IterableE 中的迭代器

指定者:

AbstractCollectionE 類中的迭代器

返回:

此雙端隊列中元素的迭代器

descendingIterator

public IteratorE descendingIterator()

從接口復制的描述:雙端隊列

以相反的順序返回此雙端隊列中元素的迭代器。 元素將按從最后(尾)到第一個(頭)的順序返回。

指定者:

DequeE 接口中的 descendingIterator

返回:

以相反順序?qū)υ撾p端隊列中的元素進行迭代

contains

public boolean contains(Object o)

如果此雙端隊列包含指定元素,則返回 true。 更正式地說,當且僅當此雙端隊列包含至少一個元素 e 使得 o.equals(e) 時才返回 true。

指定者:

包含在接口 CollectionE 中

指定者:

包含在接口 DequeE

覆蓋:

包含在類 AbstractCollectionE 中

參數(shù):

參數(shù)名稱 參數(shù)描述
o 要檢查此雙端隊列中包含的對象

返回:

如果此雙端隊列包含指定元素,則為 true

remove

public boolean remove(Object o)

從此雙端隊列中移除指定元素的單個實例。 如果雙端隊列不包含該元素,則它保持不變。 更正式地說,刪除第一個元素 e 使得 o.equals(e) (如果存在這樣的元素)。 如果此雙端隊列包含指定元素(或等效地,如果此雙端隊列因調(diào)用而更改),則返回 true。

此方法等效于 removeFirstOccurrence(java.lang.Object)。

指定者:

在接口 CollectionE 中刪除

指定者:

在接口 DequeE 中移除

覆蓋:

在類 AbstractCollectionE 中刪除

參數(shù):

參數(shù)名稱 參數(shù)描述
o 要從此雙端隊列中刪除的元素(如果存在)

返回:

如果此雙端隊列包含指定元素,則為 true

clear

public void clear()

從此雙端隊列中刪除所有元素。 此調(diào)用返回后,雙端隊列將為空。

指定者:

在界面 CollectionE 中清除

覆蓋:

在類 AbstractCollectionE 中清除

toArray

public Object[] toArray()

以正確的順序(從第一個元素到最后一個元素)返回包含此雙端隊列中所有元素的數(shù)組。

返回的數(shù)組將是“安全的”,因為此雙端隊列不維護對它的引用。 (換句話說,這個方法必須分配一個新數(shù)組)。 因此,調(diào)用者可以自由修改返回的數(shù)組。

此方法充當基于數(shù)組和基于集合的 API 之間的橋梁。

指定者:

接口 CollectionE 中的 toArray

覆蓋:

AbstractCollectionE 類中的 toArray

返回:

包含此雙端隊列中所有元素的數(shù)組

toArray

public T[] toArray(T[] a)

以正確的順序(從第一個元素到最后一個元素)返回包含此雙端隊列中所有元素的數(shù)組; 返回數(shù)組的運行時類型是指定數(shù)組的運行時類型。 如果雙端隊列適合指定的數(shù)組,則在其中返回。 否則,將使用指定數(shù)組的運行時類型和此雙端隊列的大小分配一個新數(shù)組。

如果此雙端隊列適合指定的數(shù)組并有剩余空間(即,該數(shù)組的元素多于該雙端隊列),則緊隨雙端隊列末尾的數(shù)組中的元素設置為 null。

與 toArray() 方法一樣,此方法充當基于數(shù)組的 API 和基于集合的 API 之間的橋梁。 此外,此方法允許對輸出數(shù)組的運行時類型進行精確控制,并且在某些情況下可用于節(jié)省分配成本。

假設 x 是一個已知只包含字符串的雙端隊列。 以下代碼可用于將雙端隊列轉(zhuǎn)儲到新分配的字符串數(shù)組中:

 String[] y = x.toArray(new String[0]);

請注意,toArray(new Object[0]) 在功能上與 toArray() 相同。

指定者:

接口 CollectionE 中的 toArray

覆蓋:

AbstractCollectionE 類中的 toArray

類型參數(shù):

類型參數(shù)名稱 類型參數(shù)描述
T 包含集合的數(shù)組的運行時類型

參數(shù):

參數(shù)名稱 參數(shù)描述
a 如果足夠大,則要存儲雙端隊列元素的數(shù)組; 否則,將為此目的分配相同運行時類型的新數(shù)組

返回:

包含此雙端隊列中所有元素的數(shù)組

Throws:

Throw名稱 Throw描述
ArrayStoreException 如果指定數(shù)組的運行時類型不是此雙端隊列中每個元素的運行時類型的超類型
NullPointerException 如果指定的數(shù)組為空

clone

public ArrayDequeE clone()

返回此雙端隊列的副本。

覆蓋:

在類 Object 中克隆

返回:

這個雙端隊列的副本

spliterator

public SpliteratorE spliterator()

在此雙端隊列中的元素上創(chuàng)建一個后期綁定和快速失敗的拆分器。

Spliterator 報告 Spliterator#SIZED、Spliterator#SUBSIZED、Spliterator#ORDERED 和 Spliterator#NONNULL。 覆蓋實現(xiàn)應記錄附加特征值的報告。

指定者:

接口 CollectionE 中的分離器

指定者:

接口 IterableE 中的分離器

返回:

此雙端隊列中元素的拆分器


當前題目:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OSArrayDeque
轉(zhuǎn)載源于:http://m.5511xx.com/article/dhdpios.html