新聞中心
LinkedList

java.lang.Object
|---java.util.AbstractCollection
|---|---java.util.AbstractList
|---|---|---java.util.AbstractSequentialList
|---|---|---|---java.util.LinkedList
public class LinkedList
extends AbstractSequentialList
implements List, Deque, Cloneable, Serializable List 和 Deque 接口的雙向鏈表實(shí)現(xiàn)。 實(shí)現(xiàn)所有可選列表操作,并允許所有元素(包括 null)。
所有操作都按照雙向鏈表的預(yù)期執(zhí)行。 索引到列表中的操作將從開頭或結(jié)尾遍歷列表,以更接近指定索引的為準(zhǔn)。
請(qǐng)注意,此實(shí)現(xiàn)不同步。 如果多個(gè)線程同時(shí)訪問一個(gè)鏈表,并且至少有一個(gè)線程在結(jié)構(gòu)上修改了鏈表,則必須對(duì)外同步。 (結(jié)構(gòu)修改是添加或刪除一個(gè)或多個(gè)元素的任何操作;僅設(shè)置元素的值不是結(jié)構(gòu)修改。)這通常是通過同步一些自然封裝列表的對(duì)象來完成的。 如果不存在這樣的對(duì)象,則應(yīng)使用 Collections#synchronizedList 方法“wrapped”該列表。 這最好在創(chuàng)建時(shí)完成,以防止對(duì)列表的意外不同步訪問:
List list = Collections.synchronizedList(new LinkedList(...));此類的 iterator 和 listIterator 方法返回的迭代器是快速失敗的:如果在創(chuàng)建迭代器后的任何時(shí)間對(duì)列表進(jìn)行結(jié)構(gòu)修改,除了通過迭代器自己的 remove 或 add 方法之外,迭代器將拋出 ConcurrentModificationException。 因此,面對(duì)并發(fā)修改,迭代器快速而干凈地失敗,而不是在未來不確定的時(shí)間冒任意的、非確定性的行為。
請(qǐng)注意,不能保證迭代器的快速失敗行為,因?yàn)橐话銇碚f,在存在不同步的并發(fā)修改的情況下,不可能做出任何硬保證。 快速失敗的迭代器會(huì)盡最大努力拋出 ConcurrentModificationException。 因此,編寫一個(gè)依賴于這個(gè)異常的正確性的程序是錯(cuò)誤的:迭代器的快速失敗行為應(yīng)該只用于檢測(cè)錯(cuò)誤。
此類是 Java 集合框架的成員。
字段摘要
| 從類 java.util.AbstractList 繼承的字段 |
|---|
| modCount |
構(gòu)造函數(shù)摘要
| 構(gòu)造函數(shù) | 描述 |
|---|---|
| LinkedList() | 構(gòu)造一個(gè)空列表。 |
| LinkedList(Collection extends E> c) | 按照集合的迭代器返回的順序構(gòu)造一個(gè)包含指定集合元素的列表。 |
方法總結(jié)
| 修飾符和類型 | 方法 | 描述 |
|---|---|---|
| void | add(int index, E element) | 在此列表中的指定位置插入指定元素。 |
| boolean | add(E e) | 將指定元素附加到此列表的末尾。 |
| boolean | addAll(int index, Collection extends E> c) | 將指定集合中的所有元素插入此列表,從指定位置開始。 |
| boolean | addAll(Collection extends E> c) | 按照指定集合的迭代器返回的順序,將指定集合中的所有元素附加到此列表的末尾。 |
| void | addFirst(E e) | 在此列表的開頭插入指定元素。 |
| void | addLast(E e) | 將指定元素附加到此列表的末尾。 |
| void | clear() | 從此列表中刪除所有元素。 |
| Object | clone() | 返回此 LinkedList 的淺表副本。 |
| boolean | contains(Object o) | 如果此列表包含指定元素,則返回 true。 |
| IteratorE | descendingIterator() | 以相反的順序返回此雙端隊(duì)列中元素的迭代器。 |
| E | element() | 檢索但不刪除此列表的頭部(第一個(gè)元素)。 |
| E | get(int index) | 返回此列表中指定位置的元素。 |
| E | getFirst() | 返回此列表中的第一個(gè)元素。 |
| E | getLast() | 返回此列表中的最后一個(gè)元素。 |
| int | indexOf(Object o) | 返回此列表中指定元素第一次出現(xiàn)的索引,如果此列表不包含該元素,則返回 -1。 |
| int | lastIndexOf(Object o) | 返回此列表中指定元素最后一次出現(xiàn)的索引,如果此列表不包含該元素,則返回 -1。 |
| ListIteratorE | listIterator(int index) | 返回此列表中元素的列表迭代器(以正確的順序),從列表中的指定位置開始。 |
| boolean | offer(E e) | 添加指定元素作為此列表的尾部(最后一個(gè)元素)。 |
| boolean | offerFirst(E e) | 在此列表的前面插入指定的元素。 |
| boolean | offerLast(E e) | 在此列表的末尾插入指定的元素。 |
| E | peek() | 檢索但不刪除此列表的頭部(第一個(gè)元素)。 |
| E | peekFirst() | 檢索但不刪除此列表的第一個(gè)元素,如果此列表為空,則返回 null。 |
| E | peekLast() | 檢索但不刪除此列表的最后一個(gè)元素,如果此列表為空,則返回 null。 |
| E | poll() | 檢索并刪除此列表的頭部(第一個(gè)元素)。 |
| E | pollFirst() | 檢索并刪除此列表的第一個(gè)元素,如果此列表為空,則返回 null。 |
| E | pollLast() | 檢索并刪除此列表的最后一個(gè)元素,如果此列表為空,則返回 null。 |
| E | pop() | 從此列表表示的堆棧中彈出一個(gè)元素。 |
| void | push(E e) | 將元素推送到此列表表示的堆棧上。 |
| E | remove() | 檢索并刪除此列表的頭部(第一個(gè)元素)。 |
| E | remove(int index) | 移除此列表中指定位置的元素。 |
| boolean | remove(Object o) | 從此列表中刪除第一次出現(xiàn)的指定元素(如果存在)。 |
| E | removeFirst() | 從此列表中刪除并返回第一個(gè)元素。 |
| boolean | removeFirstOccurrence(Object o) | 刪除此列表中第一次出現(xiàn)的指定元素(從頭到尾遍歷列表時(shí))。 |
| E | removeLast() | 移除并返回此列表中的最后一個(gè)元素。 |
| boolean | removeLastOccurrence(Object o) | 刪除此列表中指定元素的最后一次出現(xiàn)(從頭到尾遍歷列表時(shí))。 |
| E | set(int index, E element) | 將此列表中指定位置的元素替換為指定元素。 |
| int | size() | 返回此列表中的元素?cái)?shù)。 |
| SpliteratorE | spliterator() | 在此列表中的元素上創(chuàng)建一個(gè)后期綁定和快速失敗的拆分器。 |
| Object[] | toArray() | 以正確的順序(從第一個(gè)元素到最后一個(gè)元素)返回包含此列表中所有元素的數(shù)組。 |
| toArray(T[] a) | 以正確的順序(從第一個(gè)元素到最后一個(gè)元素)返回一個(gè)包含此列表中所有元素的數(shù)組; 返回?cái)?shù)組的運(yùn)行時(shí)類型是指定數(shù)組的運(yùn)行時(shí)類型。 |
| 從類 java.util.AbstractCollection 繼承的方法 |
|---|
| containsAll, isEmpty, removeAll, retainAll, toString |
| 從類 java.util.AbstractList 繼承的方法 |
|---|
| equals, hashCode, listIterator, removeRange, subList |
| 從類 java.util.AbstractSequentialList 繼承的方法 |
|---|
| iterator |
| 從接口 java.util.Collection 繼承的方法 |
|---|
| parallelStream, removeIf, stream |
| 從接口 java.util.Deque 繼承的方法 |
|---|
| iterator |
| 從接口 java.lang.Iterable 繼承的方法 |
|---|
| forEach |
| 從接口 java.util.List 繼承的方法 |
|---|
| containsAll, equals, hashCode, isEmpty, iterator, listIterator, removeAll, replaceAll, retainAll, sort, subList |
| 從類 java.lang.Object 繼承的方法 |
|---|
| finalize, getClass, notify, notifyAll, wait, wait, wait |
構(gòu)造函數(shù)詳細(xì)信息
LinkedList
public LinkedList()
構(gòu)造一個(gè)空列表。
LinkedList
public LinkedList(Collection extends E> c)
按照集合的迭代器返回的順序構(gòu)造一個(gè)包含指定集合元素的列表。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| c | 將其元素放入此列表的集合 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| NullPointerException | 如果指定的集合為空 |
方法詳情
getFirst
public E getFirst()
返回此列表中的第一個(gè)元素。
指定者:
接口 DequeE 中的 getFirst
返回:
此列表中的第一個(gè)元素
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| NoSuchElementException | 如果此列表為空 |
getLast
public E getLast()
返回此列表中的最后一個(gè)元素。
指定者:
接口 DequeE 中的 getLast
返回:
此列表中的最后一個(gè)元素
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| NoSuchElementException | 如果此列表為空 |
removeFirst
public E removeFirst()
從此列表中刪除并返回第一個(gè)元素。
指定者:
接口 DequeE 中的 removeFirst
返回:
此列表中的第一個(gè)元素
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| NoSuchElementException | 如果此列表為空 |
removeLast
public E removeLast()
移除并返回此列表中的最后一個(gè)元素。
指定者:
接口 DequeE 中的 removeLast
返回:
此列表中的最后一個(gè)元素
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| NoSuchElementException | 如果此列表為空 |
addFirst
public void addFirst(E e)
在此列表的開頭插入指定元素。
指定者:
接口 DequeE 中的 addFirst
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| e | 要添加的元素 |
addLast
public void addLast(E e)
將指定元素附加到此列表的末尾。
此方法等效于 add(E)。
指定者:
接口 DequeE 中的 addLast
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| e | 要添加的元素 |
contains
public boolean contains(Object o)
如果此列表包含指定元素,則返回 true。 更正式地說,當(dāng)且僅當(dāng)此列表包含至少一個(gè)元素 e 滿足 (o==null ? e==null : o.equals(e)) 時(shí),才返回 true。
指定者:
包含在接口 CollectionE 中
指定者:
包含在接口 DequeE
指定者:
包含在接口 ListE 中
覆蓋:
包含在類 AbstractCollectionE 中
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| o | 要測(cè)試其在此列表中的存在的元素 |
返回:
如果此列表包含指定元素,則為 true
size
public int size()
返回此列表中的元素?cái)?shù)。
指定者:
接口 CollectionE 中的大小
指定者:
接口 DequeE 中的大小
指定者:
接口 ListE 中的大小
指定者:
AbstractCollectionE 類中的大小
返回:
此列表中的元素?cái)?shù)
add
public boolean add(E e)
將指定元素附加到此列表的末尾。
此方法等效于 addLast(E)。
指定者:
添加接口CollectionE
指定者:
添加接口 DequeE
指定者:
添加接口ListE
指定者:
添加接口QueueE
覆蓋:
添加類 AbstractListE
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| e | 要附加到此列表的元素 |
返回:
true(由 Collection#add 指定)
remove
public boolean remove(Object o)
從此列表中刪除第一次出現(xiàn)的指定元素(如果存在)。 如果此列表不包含該元素,則它不變。 更正式地說,刪除具有最低索引 i 的元素,使得 (o==null ? get(i)==null : o.equals(get(i))) (如果存在這樣的元素)。 如果此列表包含指定的元素(或等效地,如果此列表因調(diào)用而更改),則返回 true。
指定者:
在接口 CollectionE 中刪除
指定者:
在接口 DequeE 中移除
指定者:
在接口 ListE 中刪除
覆蓋:
在類 AbstractCollectionE 中刪除
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| o | 要從此列表中刪除的元素(如果存在) |
返回:
如果此列表包含指定元素,則為 true
addAll
public boolean addAll(Collection extends E> c)
按照指定集合的迭代器返回的順序,將指定集合中的所有元素附加到此列表的末尾。 如果在操作正在進(jìn)行時(shí)修改了指定的集合,則此操作的行為是未定義的。 (請(qǐng)注意,如果指定的集合是這個(gè)列表,并且它是非空的,則會(huì)發(fā)生這種情況。)
指定者:
接口 CollectionE 中的 addAll
指定者:
接口 ListE 中的 addAll
覆蓋:
類 AbstractCollectionE 中的 addAll
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| c | 包含要添加到此列表的元素的集合 |
返回:
如果此列表因調(diào)用而更改,則為 true
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| NullPointerException | 如果指定的集合為空 |
addAll
public boolean addAll(int index, Collection extends E> c)
將指定集合中的所有元素插入此列表,從指定位置開始。 將當(dāng)前位于該位置的元素(如果有)和任何后續(xù)元素向右移動(dòng)(增加它們的索引)。 新元素將按照指定集合的迭代器返回的順序出現(xiàn)在列表中。
指定者:
接口 ListE 中的 addAll
覆蓋:
類 AbstractSequentialListE 中的 addAll
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| index | 插入指定集合中第一個(gè)元素的索引 |
| c | 包含要添加到此列表的元素的集合 |
返回:
如果此列表因調(diào)用而更改,則為 true
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IndexOutOfBoundsException | 如果索引超出范圍 (index < 0 || index > size()) |
| NullPointerException | 如果指定的集合為空 |
clear
public void clear()
從此列表中刪除所有元素。 此調(diào)用返回后,列表將為空。
指定者:
在界面 CollectionE 中清除
指定者:
在接口 ListE 中清除
覆蓋:
在類 AbstractListE 中清除
get
public E get(int index)
返回此列表中指定位置的元素。
指定者:
進(jìn)入接口 ListE
覆蓋:
進(jìn)入類 AbstractSequentialListE
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| index | 要返回的元素的索引 |
返回:
此列表中指定位置的元素
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IndexOutOfBoundsException | 如果索引超出范圍 (index < 0 || index >= size()) |
set
public E set(int index, E element)
將此列表中指定位置的元素替換為指定元素。
指定者:
在接口 ListE 中設(shè)置
覆蓋:
在類 AbstractSequentialListE 中設(shè)置
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| index | 要替換的元素的索引 |
| element | 要存儲(chǔ)在指定位置的元素 |
返回:
先前在指定位置的元素
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IndexOutOfBoundsException | 如果索引超出范圍 (index < 0 || index >= size()) |
add
public void add(int index, E element)
在此列表中的指定位置插入指定元素。 將當(dāng)前位于該位置的元素(如果有)和任何后續(xù)元素向右移動(dòng)(將其索引加一)。
指定者:
添加接口ListE
覆蓋:
添加類 AbstractSequentialListE
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| index | 要插入指定元素的索引 |
| element | 要插入的元素 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IndexOutOfBoundsException | 如果索引超出范圍 (index < 0 || index > size()) |
remove
public E remove(int index)
移除此列表中指定位置的元素。 將任何后續(xù)元素向左移動(dòng)(從它們的索引中減去 1)。 返回從列表中刪除的元素。
指定者:
在接口 ListE 中刪除
覆蓋:
在類 AbstractSequentialListE 中刪除
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| index | 要?jiǎng)h除的元素的索引 |
返回:
先前在指定位置的元素
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IndexOutOfBoundsException | 如果索引超出范圍 (index < 0 || index >= size()) |
indexOf
public int indexOf(Object o)
返回此列表中指定元素第一次出現(xiàn)的索引,如果此列表不包含該元素,則返回 -1。 更正式地說,返回滿足 (o==null ? get(i)==null : o.equals(get(i))) 的最低索引 i,如果沒有這樣的索引,則返回 -1。
指定者:
接口 ListE 中的 indexOf
覆蓋:
AbstractListE 類中的 indexOf
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| o | 要搜索的元素 |
返回:
此列表中指定元素第一次出現(xiàn)的索引,如果此列表不包含該元素,則為 -1
lastIndexOf
public int lastIndexOf(Object o)
返回此列表中指定元素最后一次出現(xiàn)的索引,如果此列表不包含該元素,則返回 -1。 更正式地說,返回滿足 (o==null ? get(i)==null : o.equals(get(i))) 的最高索引 i,如果沒有這樣的索引,則返回 -1。
指定者:
接口 ListE 中的 lastIndexOf
覆蓋:
類 AbstractListE 中的 lastIndexOf
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| o | 要搜索的元素 |
返回:
此列表中指定元素最后一次出現(xiàn)的索引,如果此列表不包含該元素,則為 -1
peek
public E peek()
檢索但不刪除此列表的頭部(第一個(gè)元素)。
指定者:
查看界面 DequeE
指定者:
查看接口 QueueE
返回:
此列表的頭部,如果此列表為空,則返回 null
element
public E element()
檢索但不刪除此列表的頭部(第一個(gè)元素)。
指定者:
接口 DequeE 中的元素
指定者:
接口 QueueE 中的元素
返回:
此列表的頭部
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| NoSuchElementException | 如果此列表為空 |
poll
public E poll()
檢索并刪除此列表的頭部(第一個(gè)元素)。
指定者:
接口 DequeE 中的輪詢
指定者:
在接口 QueueE 中輪詢
返回:
此列表的頭部,如果此列表為空,則返回 null
remove
public E remove()
檢索并刪除此列表的頭部(第一個(gè)元素)。
指定者:
在接口 DequeE 中移除
指定者:
在接口 QueueE 中刪除
返回:
此列表的頭部
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| NoSuchElementException | 如果此列表為空 |
offer
public boolean offer(E e)
添加指定元素作為此列表的尾部(最后一個(gè)元素)。
指定者:
在接口 DequeE 中提供
指定者:
接口QueueE中的offer
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| e | 要添加的元素 |
返回:
true(由 Queue#offer 指定)
offerFirst
public boolean offerFirst(E e)
在此列表的前面插入指定的元素。
指定者:
接口 DequeE 中的 offerFirst
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| e | 要插入的元素 |
返回:
true(由 Deque#offerFirst 指定)
offerLast
public boolean offerLast(E e)
在此列表的末尾插入指定的元素。
指定者:
接口 DequeE 中的 offerLast
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| e | 要插入的元素 |
返回:
true(由 Deque#offerLast 指定)
peekFirst
public E peekFirst()
檢索但不刪除此列表的第一個(gè)元素,如果此列表為空,則返回 null。
指定者:
接口 DequeE 中的 peekFirst
返回:
此列表的第一個(gè)元素,如果此列表為空,則返回 null
peekLast
public E peekLast()
檢索但不刪除此列表的最后一個(gè)元素,如果此列表為空,則返回 null。
指定者:
接口 DequeE 中的 peekLast
返回:
此列表的最后一個(gè)元素,如果此列表為空,則返回 null
pollFirst
public E pollFirst()
檢索并刪除此列表的第一個(gè)元素,如果此列表為空,則返回 null。
指定者:
接口 DequeE 中的 pollFirst
返回:
此列表的第一個(gè)元素,如果此列表為空,則返回 null
pollLast
public E pollLast()
檢索并刪除此列表的最后一個(gè)元素,如果此列表為空,則返回 null。
指定者:
接口 DequeE 中的 pollLast
返回:
此列表的最后一個(gè)元素,如果此列表為空,則返回 null
push
public void push(E e)
將元素推送到此列表表示的堆棧上。 換句話說,在這個(gè)列表的前面插入元素。
此方法等效于 addFirst(E)。
指定者:
推入接口 DequeE
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| e | 要推動(dòng)的元素 |
pop
public E pop()
從此列表表示的堆棧中彈出一個(gè)元素。 換句話說,刪除并返回此列表的第一個(gè)元素。
此方法等效于 removeFirst()。
指定者:
彈出界面DequeE
返回:
此列表前面的元素(這是此列表表示的堆棧的頂部)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| NoSuchElementException | 如果此列表為空 |
removeFirstOccurrence
public boolean removeFirstOccurrence(Object o)
刪除此列表中第一次出現(xiàn)的指定元素(從頭到尾遍歷列表時(shí))。 如果列表不包含該元素,則它不變。
指定者:
接口 DequeE 中的 removeFirstOccurrence
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| o | 要從此列表中刪除的元素(如果存在) |
返回:
如果列表包含指定元素,則為 true
removeLastOccurrence
public boolean removeLastOccurrence(Object o)
刪除此列表中指定元素的最后一次出現(xiàn)(從頭到尾遍歷列表時(shí))。 如果列表不包含該元素,則它不變。
指定者:
接口 DequeE 中的 removeLastOccurrence
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| o | 要從此列表中刪除的元素(如果存在) |
返回:
如果列表包含指定元素,則為 true
listIterator
public ListIteratorE listIterator(int index)
返回此列表中元素的列表迭代器(以正確的順序),從列表中的指定位置開始。 遵守 List.listIterator(int) 的一般約定。
列表迭代器是快速失敗的:如果列表在創(chuàng)建迭代器后的任何時(shí)間進(jìn)行結(jié)構(gòu)修改,除了通過列表迭代器自己的刪除或添加方法之外,列表迭代器將拋出 ConcurrentModificationException。 因此,面對(duì)并發(fā)修改,迭代器快速而干凈地失敗,而不是在未來不確定的時(shí)間冒任意的、非確定性的行為。
指定者:
接口 ListE 中的 listIterator
指定者:
類 AbstractSequentialListE 中的 listIterator
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| index | 要從列表迭代器返回的第一個(gè)元素的索引(通過調(diào)用 next) |
返回:
此列表中元素的 ListIterator(按正確順序),從列表中的指定位置開始
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IndexOutOfBoundsException | 如果索引超出范圍 (index < 0 || index > size()) |
descendingIterator
public IteratorE descendingIterator()
從接口復(fù)制的描述:雙端隊(duì)列
以相反的順序返回此雙端隊(duì)列中元素的迭代器。 元素將按從最后(尾)到第一個(gè)(頭)的順序返回。
指定者:
DequeE 接口中的 descendingIterator
返回:
以相反順序?qū)υ撾p端隊(duì)列中的元素進(jìn)行迭代
clone
public Object clone()
返回此 LinkedList 的淺表副本。 (元素本身不會(huì)被克隆。)
覆蓋:
在類 Object 中克隆
返回:
此 LinkedList 實(shí)例的淺表副本
toArray
public Object[] toArray()
以正確的順序(從第一個(gè)元素到最后一個(gè)元素)返回包含此列表中所有元素的數(shù)組。
返回的數(shù)組將是“安全的”,因?yàn)榇肆斜聿痪S護(hù)對(duì)它的引用。 (換句話說,這個(gè)方法必須分配一個(gè)新數(shù)組)。 因此,調(diào)用者可以自由修改返回的數(shù)組。
此方法充當(dāng)基于數(shù)組和基于集合的 API 之間的橋梁。
指定者:
接口 CollectionE 中的 toArray
指定者:
接口 ListE 中的 toArray
覆蓋:
AbstractCollectionE 類中的 toArray
返回:
以正確順序包含此列表中所有元素的數(shù)組
toArray
public
以正確的順序(從第一個(gè)元素到最后一個(gè)元素)返回一個(gè)包含此列表中所有元素的數(shù)組;返回?cái)?shù)組的運(yùn)行時(shí)類型是指定數(shù)組的運(yùn)行時(shí)類型。如果列表適合指定的數(shù)組,則在其中返回。否則,將使用指定數(shù)組的運(yùn)行時(shí)類型和此列表的大小分配一個(gè)新數(shù)組。
如果列表適合指定的數(shù)組并有剩余空間(即,數(shù)組的元素多于列表),則數(shù)組中緊隨列表末尾的元素設(shè)置為 null。 (僅當(dāng)調(diào)用者知道列表不包含任何空元素時(shí),這對(duì)確定列表的長(zhǎng)度很有用。)
與 toArray() 方法一樣,此方法充當(dāng)基于數(shù)組的 API 和基于集合的 API 之間的橋梁。此外,此方法允許對(duì)輸出數(shù)組的運(yùn)行時(shí)類型進(jìn)行精確控制,并且在某些情況下可用于節(jié)省分配成本。
假設(shè) x 是一個(gè)已知僅包含字符串的列表。以下代碼可用于將列表轉(zhuǎn)儲(chǔ)到新分配的 String 數(shù)組中:
String[] y = x.toArray(new String[0]);請(qǐng)注意,toArray(new Object[0]) 在功能上與 toArray() 相同。
指定者:
接口 CollectionE 中的 toArray
指定者:
接口 ListE 中的 toArray
覆蓋:
AbstractCollectionE 類中的 toArray
類型參數(shù):
| 類型參數(shù)名稱 | 類型參數(shù)描述 |
|---|---|
| T | 包含集合的數(shù)組的運(yùn)行時(shí)類型 |
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| a | 存儲(chǔ)列表元素的數(shù)組(如果它足夠大); 否則,將為此目的分配相同運(yùn)行時(shí)類型的新數(shù)組。 |
返回:
包含列表元素的數(shù)組
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ArrayStoreException | 如果指定數(shù)組的運(yùn)行時(shí)類型不是此列表中每個(gè)元素的運(yùn)行時(shí)類型的超類型 |
| NullPointerException | 如果指定的數(shù)組為空 |
spliterator
public SpliteratorE spliterator()
在此列表中的元素上創(chuàng)建一個(gè)后期綁定和快速失敗的拆分器。
Spliterator 報(bào)告 Spliterator#SIZED 和 Spliterator#ORDERED。 覆蓋實(shí)現(xiàn)應(yīng)記錄附加特征值的報(bào)告。
指定者:
接口 CollectionE 中的分離器
指定者:
接口 IterableE 中的分離器
指定者:
接口 ListE 中的分離器
返回:
此列表中元素的拆分器
新聞標(biāo)題:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OSLinkedList
網(wǎng)站鏈接:http://fisionsoft.com.cn/article/dpgdcho.html


咨詢
建站咨詢
