Клас LinkedList
Призначення класу LinkedList — послідовний доступ до елементів пов'язаного списку.
Загальне уявлення про клас LinkedList можна отримати, переглянувши код програми та проаналізувавши її виведенням для списку, у якому значення мають тип string.
У поданому далі описі:
-
T — тип значення елементів списку List;
-
у дужках () чи <> вказано тип параметра.
Зауваження
LinkedList<T> містить окремі вузли типу LinkedListNode<T>. Кожен вузол має вквзівники на наступний (властивість Next) і попередній (властивість Previous) вузли. Тому вставка та видалення є операціями з часовою ефективністю O(1).
Списки, що містять типи посилань, працюють краще при одночасному створенні вузла і його значення.
Зв'язний список приймає null як допустиме значення властивості Value типів посилань і допускає повторювані значення.
Якщо список порожній, його властивості First і Last мають значення null.
Клас LinkedList не підтримує ланцюжки, поділ, цикли або інші функції, які можуть залишити список у неузгодженому стані. Список залишається узгодженим в одному потоці. Єдиний багатопоточний сценарій, що підтримує клас LinkedList — багатопотокові операції читання.
Конструктори-
LinkedList<T>() — ініціалізує порожній список.
-
LinkedList<T>(IEnumerable<T>) — ініціалізує новий список, що містить елементи, скопійовані з вказаного представника перелічуваного класу, і має ємність, достатню для того, щоб вмістити кількість скопійованих елементів.
-
LinkedList<T>(SerializationInfo, StreamingContext) — ініціалізує новий представник класу, що серіалізується із заданими об'єктами SerializationInfo та StreamingContext.
Властивості-
Count — повертає число вузлів.
-
First — повертає перший вузол списку.
-
Last — отримує останній вузол списку.
Методи
-
AddAfter(LinkedListNode<T>, LinkedListNode<T>) — додає новий вузол після вказаного наявного вузла.
-
AddAfter(LinkedListNode<T>, T) — додає новий вузол з указаним значенням після вказаного наявного вузла.
-
AddBefore(LinkedListNode<T>, LinkedListNode<T>) — додає вказаний вузол перед указаним наявним вузлом.
-
AddBefore(LinkedListNode<T>, T) — додає новий вузол з указаним значенням перед вказаним наявним вузлом.
-
AddFirst(LinkedListNode<T>) — додає вказаний вузол на початок списку.
-
AddFirst(T) — додає новий вузол з указаним значенням на початок списку.
-
AddLast(LinkedListNode<T>) — додає вказаний вузол у кінець списку.
-
AddLast(T) — додає новий вузол з указаним значенням наприкінці списку.
-
Clear() — видаляє всі вузли.
-
Contains(T) — визначає, чи містить список вказане значення.
-
CopyTo(T[], Int32) — копіює список у одновимірний масив, починаючи з указаного індексу цільового масиву.
-
Equals(Object) — повертає true. якщо вказаний об'єкт дорівнює поточному (успадковано від Object).
-
Find(T) — знаходить перший вузол, що містить указане значення.
-
FindLast(T) — знаходить останній вузол, що містить указане значення.
-
GetEnumerator() — повертає перечислювач, який перебирає елементи списку.
-
GetHashCode() — хеш-функція як усталено (успадковано від Object).
-
GetObjectData(SerializationInfo, StreamingContext) — втілює інтерфейс ISerializable та повертає дані, необхідні для серіалізації.
-
GetType() — повертає об'єкт Type для поточного екземпляра (успадковано від Object).
-
MemberwiseClone() — створює неповну копію об'єкта Object (успадковано від Object).
-
OnDeserialization(Object) — втілює інтерфейс ISerializable і викликає подію десеріалізації при завершенні десеріалізації.
-
Remove(LinkedListNode<T>) — видаляє вказаний вузол.
-
Remove(T) — видаляє перше входження заданого значення.
-
RemoveFirst() — видаляє вузол на початку списку.
-
RemoveLast() — видаляє вузол наприкінці списку.
-
ToString() — повертає рядок, що становить поточний об'єкт (успадковано від Object).
Додаткові дані про явні втілення інтерфейсу, методи розширення потоко-безпечність подано на сторінці сайту learn.microsoft.com.