更新時間:2019-08-21 14:31:50 來源:動力節點 瀏覽2884次
Linkedlist是線性數據結構,其中元素不存儲在連續的位置,每個元素都是具有數據部分和地址部分的獨立對象。元素使用指針和地址進行鏈接。每個元素被稱為節點。由于插入和刪除的動態性和易用性,它們優于陣列。它也有一些缺點,比如節點不能直接訪問,我們需要從頭開始,然后通過鏈接到達我們希望訪問的節點。
為了將元素存儲在鏈表中,我們使用一個雙向鏈表,它提供了一個線性數據結構,并且還用于繼承一個抽象類并實現list和deque接口。
在Java中,LinkedList類實現了列表接口。LinkedList類也包含像其他java集合一樣的各種構造函數和方法。
Java LinkedList的構造函數:
1、LinkedList():用于創建一個空的鏈表。
2、LinkedList(Collection C):用于創建一個有序列表,其中包含集合迭代器返回的指定集合的所有元素。
// Java code for Linked List implementation
import java.util.*;
public class Test
{
public static void main(String args[])
{
// Creating object of class linked list
LinkedList
// Adding elements to the linked list
object.add("A");
object.add("B");
object.addLast("C");
object.addFirst("D");
object.add(2, "E");
object.add("F");
object.add("G");
System.out.println("Linked list : " + object);
// Removing elements from the linked list
object.remove("B");
object.remove(3);
object.removeFirst();
object.removeLast();
System.out.println("Linked list after deletion: " + object);
// Finding elements in the linked list
boolean status = object.contains("E");
if(status)
System.out.println("List contains the element 'E' ");
else
System.out.println("List doesn't contain the element 'E'");
// Number of elements in the linked list
int size = object.size();
System.out.println("Size of linked list = " + size);
// Get and set elements from linked list
Object element = object.get(2);
System.out.println("Element returned by get() : " + element);
object.set(2, "Y");
System.out.println("Linked list after change : " + object);
}
}
輸出:
Linked list : [D, A, E, B, C, F, G]
Linked list after deletion: [A, E, F]
List contains the element 'E'
Size of linked list = 3
Element returned by get() : F
Linked list after change : [A, E, Y]
Java LinkedList的方法:
1、int size():它返回此列表中元素的數量。
2、void clear():它刪除列表中的所有元素。
3、Object clone():它用于制作現有鏈接列表的副本。
4、Object set(int index,Object element):它用于用新元素替換列表中的現有元素。
5、boolean contains(Object element):如果元素存在于列表中,則返回true。
6、boolean add(Object element):它將元素附加到列表的末尾。
7、void add(int index,Object element):它將元素插入列表中'index'位置。
8、boolean addAll(Collection C):它將一個集合追加到鏈接列表。
9、boolean addAll(int index,Collection C):它將一個集合追加到指定位置的鏈表中。
10、void addFirst(Object element):它將元素插入列表的開頭。
11、void addLast(Object element):它將元素附加在列表的末尾。
12、Object get(int index):它返回列表中位置'index'處的元素。如果索引超出了列表的范圍,它會拋出'IndexOutOfBoundsException'。
13、Object getFirst():它返回鏈表的第一個元素。
14、Object getLast():它返回鏈接列表的最后一個元素。
15、int indexOf(Object element):如果找到元素,它將返回元素第一次出現的索引。否則,它返回-1。
16、int lastIndexOf(Object element):如果找到元素,它將返回元素最后一次出現的索引。否則,它返回-1。
17、Object remove():它用于從列表頭部刪除并返回元素。
18、Object remove(int index):它刪除此列表中位置'index'處的元素。如果列表為空,它會拋出'NoSuchElementException'。
19、boolean remove(Object O):它用于從鏈表中移除一個特定的元素并返回一個布爾值。
20、Object removeLast():它用于刪除并返回鏈接列表的最后一個元素。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習