簡介
-
public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, Serializable
- 雙連結清單實作了
和List
接口。 實作所有可選清單操作,并允許所有元素(包括Deque
)。null
- 此實作不同步。 如果多個線程同時通路連結清單,并且至少有一個線程在結構上修改了清單,則必須在外部進行同步。 (結構修改是添加或删除一個或多個元素的任何操作;僅設定元素的值不是結構修改。)這通常通過同步自然封裝清單的某個對象來完成。 如果不存在此類對象,則應使用
方法“包裝”該清單。 這最好在建立時完成,以防止意外地不同步通路清單:Collections.synchronizedList
List list = Collections.synchronizedList(new LinkedList(...));
- 此類的
和iterator
方法傳回的疊代器是快速失敗的 :如果在建立疊代器之後的任何時候對清單進行結構修改,除了通過Iterator自己的listIterator
或remove
方法之外,疊代器将抛出add
。 是以,在并發修改的情況下,疊代器快速而幹淨地失敗,而不是在未來的未确定時間冒任意,非确定性行為的風險。ConcurrentModificationException
常用方法
| 構造一個空清單。 |
---|---|
| 按照集合的疊代器傳回的順序構造一個包含指定集合元素的清單。 |
| | 彈出此清單所代表的堆棧中的元素。 |
---|---|---|
| | 将元素推送到此清單所表示的堆棧上。 |
| | 在此清單的開頭插入指定的元素。 |
---|---|---|
| | 将指定的元素追加到此清單的末尾。 |
| | 傳回此清單中的第一個元素。 |
---|---|---|
| | 傳回此清單中的最後一個元素。 |
| | 從此清單中删除并傳回第一個元素。 |
---|---|---|
| | 删除此清單中第一次出現的指定元素(從頭到尾周遊清單時)。 |
| | 從此清單中删除并傳回最後一個元素。 |
| | 删除此清單中最後一次出現的指定元素(從頭到尾周遊清單時)。 |
| | 将指定的元素添加為此清單的尾部(最後一個元素)。 |
---|---|---|
| | 在此清單的前面插入指定的元素。 |
| | 在此清單的末尾插入指定的元素。 |
| | 檢索但不删除此清單的頭部(第一個元素)。 |
| | 檢索但不删除此清單的第一個元素,如果此清單為空,則傳回 。 |
| | 檢索但不删除此清單的最後一個元素,如果此清單為空,則傳回 。 |
| | 檢索并删除此清單的頭部(第一個元素)。 |
| | 檢索并删除此清單的第一個元素,如果此清單為空,則傳回 。 |
| | 檢索并删除此清單的最後一個元素,如果此清單為空,則傳回 。 |