Java 資料結構 - 連結串列類
介紹
java.util.LinkedList 類的操作執行了我們可以期望的雙向連結串列操作。索引到列表的操作將從開頭或結尾遍歷列表,以靠近指定索引者為準。
類宣告
以下是 java.util.LinkedList 類的宣告:-
public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, Serializable
引數
以下是 java.util.LinkedList 類的引數:-
E - 這是此集合中儲存的元素的型別。
欄位
從類 java.util.AbstractList 繼承的欄位。
類建構函式
| 序號 | 建構函式和描述 |
|---|---|
| 1 | LinkedList() 這會構造一個空列表。 |
| 2 | LinkedList(Collection<? extends E> c) 這會構造一個包含指定集合中元素的列表,其順序與集合的迭代器返回的順序相同。 |
類方法
| 序號 | 方法和描述 |
|---|---|
| 1 | boolean add(E e) 此方法將指定的元素追加到此列表的末尾。 |
| 2 | void add(int index, E element) 此方法在此列表的指定位置插入指定的元素。 |
| 3 | boolean addAll(Collection<? extends E> c) 此方法將指定集合中的所有元素追加到此列表的末尾,其順序與指定集合的迭代器返回的順序相同。 |
| 4 | boolean addAll(int index, Collection<? extends E> c) 此方法將指定集合中的所有元素插入到此列表中,從指定位置開始。 |
| 5 | void addFirst(E e) 此方法返回在該列表的開頭插入指定的元素。 |
| 6 | void addLast(E e) 此方法返回將指定的元素追加到此列表的末尾。 |
| 7 | void clear() 此方法從此列表中刪除所有元素。 |
| 8 | Object clone() 此方法返回返回此 LinkedList 的淺複製。 |
| 9 | boolean contains(Object o) 如果此列表包含指定的元素,則此方法返回 true。 |
| 10 | Iterator<E> descendingIterator() 此方法返回一個迭代器,用於反向順序遍歷此雙端佇列中的元素。 |
示例
package com.tutorialspoint;
import java.util.*;
public class LinkedListDemo {
public static void main(String[] args) {
// create a LinkedList
LinkedList list = new LinkedList();
// add some elements
list.add("Hello");
list.add(2);
list.add("Chocolate");
list.add("10");
// print the list
System.out.println("LinkedList:" + list);
// add a new element at the end of the list
list.add("Element");
// print the updated list
System.out.println("LinkedList:" + list);
}
}
輸出
LinkedList:[Hello, 2, Chocolate, 10] LinkedList:[Hello, 2, Chocolate, 10, Element]
連結串列是一系列包含專案的連結。每個連結都包含到另一個連結的連線。連結串列是陣列之後第二常用的資料結構。
連結串列表示
連結串列可以被視覺化為節點鏈,其中每個節點都指向下一個節點。
每個連結串列都包含頭和節點。
每個節點都儲存資料和下一個元素的地址。
列表的最後一個元素為 null,標記列表的結束。
連結串列有三種類型
簡單鏈表 - 專案導航僅向前。
雙向連結串列 - 專案可以向前和向後導航。
迴圈連結串列 - 最後一個專案包含下一個元素的第一個元素的連結,而第一個元素包含前一個元素的最後一個元素的連結。