Java LinkedList

Yake1965 2022-01-07 20:12:05 阅读数:411

java linkedlist

模塊 java.base 軟件包 java.util
Class LinkedList

java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractList<E>
java.util.AbstractSequentialList<E>
java.util.LinkedList<E>

參數類型
E - 此集合中保留的元素類型
實現的所有接口
Serializable , Cloneable , Iterable , Collection , Deque , List , Queue

Java LinkedList

鏈錶(Linked list)是一種線性錶,在每一個節點裏存到下一個節點的地址。

鏈錶可分為單向鏈錶和雙向鏈錶:

  • 單向鏈錶包含兩個值: 當前節點的值和一個指向下一個節點的鏈接。
  • 雙向鏈錶有三個整數值: 數值、向後的節點鏈接、向前的節點鏈接。

Java LinkedList(鏈錶) 類似於 ArrayList,是一種常用的數據容器。

與 ArrayList 相比,LinkedList 的增加和删除的操作效率更高,而查找和修改的操作效率較低。

以下情况使用 ArrayList :

  • 頻繁訪問列錶中的某一個元素。
  • 只需要在列錶末尾進行添加和删除元素操作。

以下情况使用 LinkedList :

  • 需要通過循環迭代來訪問列錶中的某些元素。
  • 需要頻繁的在列錶開頭、中間、末尾等比特置進行添加和删除元素操作。

LinkedList 繼承了 AbstractSequentialList 類:

  • LinkedList 實現了 Queue 接口,可作為隊列使用。
  • LinkedList 實現了 List 接口,可進行列錶的相關操作。
  • LinkedList 實現了 Deque 接口,可作為隊列使用。
  • LinkedList 實現了 Cloneable 接口,可實現克隆。
  • LinkedList 實現了 java.io.Serializable 接口,即可支持序列化,能通過序列化去傳輸。

構造方法

import java.util.LinkedList;
LinkedList<E> list = new LinkedList<E>(); // 構造一個空列錶。
LinkedList<E> list = new LinkedList(Collection<? extends E> c); // 使用集合創建鏈錶

常用方法

public int size() 返回鏈錶元素個數。
public boolean add(E e) 鏈錶末尾添加元素,返回是否成功,成功為 true,失敗為 false。
public void add(int index, E element) 向指定比特置插入元素。
public boolean addAll(Collection c) 將一個集合的所有元素添加到鏈錶後面,返回是否成功,成功為 true,失敗為 false。
public boolean addAll(int index, Collection c) 將一個集合的所有元素添加到鏈錶的指定比特置後面,返回是否成功,成功為 true,失敗為 false。
public void addFirst(E e) 元素添加到頭部。
public void addLast(E e) 元素添加到尾部。
public boolean offer(E e) 向鏈錶末尾添加元素,返回是否成功,成功為 true,失敗為 false。
public boolean offerFirst(E e) 頭部插入元素,返回是否成功,成功為 true,失敗為 false。
public boolean offerLast(E e) 尾部插入元素,返回是否成功,成功為 true,失敗為 false。
public E poll() 删除並返回第一個元素。
public E remove()
public E removeFirst()
public E removeLast() 删除並返回最後一個元素。
public boolean remove(Object o) 删除某一元素,返回是否成功,成功為 true,失敗為 false。
public E remove(int index) 删除指定比特置的元素。
public void clear() 清空鏈錶。
public E peek() 返回第一個元素。
public E peekFirst()
public E getFirst()
public E element()
public E peekLast() 返回尾部元素。
public E getLast() 返回最後一個元素。
public E get(int index) 返回指定比特置的元素。
public E set(int index, E element) 設置指定比特置的元素。
public boolean contains(Object o) 判斷是否含有某一元素。
public int indexOf(Object o) 查找指定元素從前往後第一次出現的索引。
public int lastIndexOf(Object o) 查找指定元素最後一次出現的索引。
public Object clone() 克隆該列錶。
public Iterator descendingIterator() 返回倒序迭代器。
public ListIterator listIterator(int index) 返回從指定比特置開始到末尾的迭代器。
public Object[] toArray() 返回一個由鏈錶元素組成的數組。
public T[] toArray(T[] a) 返回一個由鏈錶元素轉換類型而成的數組。

int size() 返回此列錶中的元素數。
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 add​(int index, E element) 將指定元素插入此列錶中的指定比特置。
Object clone() 返回此 LinkedList的淺錶副本。
boolean contains​(Object o) 如果此列錶包含指定的元素,則返回 true 。
Iterator<E> descendingIterator() 以相反的順序返回此雙端隊列中元素的迭代器。
E element() 檢索但不删除此列錶的頭部(第一個元素)。
E get​(int index) 返回此列錶中指定比特置的元素。
E getFirst() 返回此列錶中的第一個元素。
E getLast() 返回此列錶中的最後一個元素。
boolean offer​(E e) 將指定的元素添加為此列錶的尾部(最後一個元素)。
boolean offerFirst​(E e) 在此列錶的前面插入指定的元素。
boolean offerLast​(E e) 在此列錶的末尾插入指定的元素。
E peek() 檢索但不删除此列錶的頭部(第一個元素)。
E peekFirst() 檢索但不删除此列錶的第一個元素,如果此列錶為空,則返回 null 。
E peekLast() 檢索但不删除此列錶的最後一個元素,如果此列錶為空,則返回 null 。
E poll() 檢索並删除此列錶的頭部(第一個元素)。
E pollFirst() 檢索並删除此列錶的第一個元素,如果此列錶為空,則返回 null 。
E pollLast() 檢索並删除此列錶的最後一個元素,如果此列錶為空,則返回 null 。
void push​(E e) 將元素推送到此列錶所錶示的堆棧上。
E pop() 彈出此列錶所代錶的堆棧中的元素。
E remove() 檢索並删除此列錶的頭部(第一個元素)。
E remove​(int index) 删除此列錶中指定比特置的元素。
boolean remove​(Object o) 從該列錶中删除指定元素的第一個匹配項(如果存在)。
E removeFirst() 從此列錶中删除並返回第一個元素。
boolean removeFirstOccurrence​(Object o) 删除此列錶中第一次出現的指定元素(從頭到尾遍曆列錶時)。
E removeLast() 從此列錶中删除並返回最後一個元素。
boolean removeLastOccurrence​(Object o) 删除此列錶中最後一次出現的指定元素(從頭到尾遍曆列錶時)。
void clear() 從此列錶中删除所有元素。
E set​(int index, E element) 用指定的元素替換此列錶中指定比特置的元素。
int indexOf​(Object o) 返回此列錶中第一次出現的指定元素的索引,如果此列錶不包含該元素,則返回-1。
int lastIndexOf​(Object o) 返回此列錶中指定元素最後一次出現的索引,如果此列錶不包含該元素,則返回-1。
ListIterator<E> listIterator​(int index) 從列錶中的指定比特置開始,返回此列錶中元素的列錶迭代器(按正確順序)。
Spliterator<E> spliterator() 在此列錶中的元素上創建late-binding和故障快速 Spliterator 。
Object[] toArray() 以適當的順序(從第一個元素到最後一個元素)返回包含此列錶中所有元素的數組。
<T> T[] toArray​(T[] a) 以適當的順序返回包含此列錶中所有元素的數組(從第一個元素到最後一個元素); 返回數組的運行時類型是指定數組的運行時類型。
版权声明:本文为[Yake1965]所创,转载请带上原文链接,感谢。 https://gsmany.com/2022/01/202201072012052744.html