Giới thiệu
LinkedList<T> (namespace System.Collections.Generic) là danh sách liên kết đôi. Thuộc tính Count trả về số nút hiện có. Các phương thức AddLast, AddFirst, Clear thường dùng để thao tác.
Ví dụ 1: Đếm nút và lấy nút đầu tiên
using System;
using System.Collections.Generic;
public class Demo
{
public static void Main()
{
LinkedList list = new LinkedList();
list.AddLast("A");
list.AddLast("B");
list.AddLast("C");
list.AddLast("D");
list.AddLast("E");
list.AddLast("F");
list.AddLast("G");
list.AddLast("H");
list.AddLast("I");
list.AddLast("J");
Console.WriteLine("Số nút = " + list.Count);
Console.WriteLine("Nút đầu tiên = " + list.First.Value);
list.Clear();
Console.WriteLine("Số nút (sau Clear) = " + list.Count);
}
}
Kết quả
Số nút = 10
Nút đầu tiên = A
Số nút (sau Clear) = 0
Ví dụ 2: Nhiều LinkedList, gán tham chiếu
using System;
using System.Collections.Generic;
public class Demo
{
public static void Main(string[] args)
{
LinkedList list1 = new LinkedList();
list1.AddLast("One");
list1.AddLast("Two");
list1.AddLast("Three");
list1.AddLast("Four");
list1.AddLast("Five");
Console.WriteLine("Các phần tử trong LinkedList1...");
foreach (string res in list1)
{
Console.WriteLine(res);
}
LinkedList list2 = new LinkedList();
list2.AddLast("India");
list2.AddLast("US");
list2.AddLast("UK");
list2.AddLast("Canada");
list2.AddLast("Poland");
list2.AddLast("Netherlands");
Console.WriteLine("Các phần tử trong LinkedList2...");
foreach (string res in list2)
{
Console.WriteLine(res);
}
LinkedList list3 = new LinkedList();
Console.WriteLine("Số nút trong LinkedList3 = " + list3.Count);
list3 = list2; // gán tham chiếu
Console.WriteLine("Số nút trong LinkedList3 (cập nhật) = " + list2.Count);
Console.WriteLine("LinkedList3 bằng LinkedList2? = " + list3.Equals(list2));
}
}
Kết quả
Các phần tử trong LinkedList1...
One
Two
Three
Four
Five
Các phần tử trong LinkedList2...
India
US
UK
Canada
Poland
Netherlands
Số nút trong LinkedList3 = 0
Số nút trong LinkedList3 (cập nhật) = 6
LinkedList3 bằng LinkedList2? = True
Chú ý
Countlà thuộc tính O(1).- Gán
list3 = list2làm cả hai tham chiếu đến cùng một đối tượng, nênEqualstrả vềtrue(so sánh tham chiếu mặc định). - Để so sánh nội dung, cần duyệt thủ công hoặc dùng
SequenceEqual(LINQ).