Giới thiệu
Phương thức Clear() của LinkedList<T> xóa tất cả các nút (nodes) khỏi danh sách liên kết, đưa Count về 0. Danh sách trở thành rỗng nhưng đối tượng LinkedList vẫn tồn tại.
Ví dụ 1
using System;
using System.Collections.Generic;
public class Demo
{
public static void Main()
{
int[] num = { 10, 20, 30, 40, 50 };
LinkedList list = new LinkedList(num);
Console.WriteLine("Các nút trong LinkedList...");
foreach (var n in list)
{
Console.WriteLine(n);
}
list.Clear();
Console.WriteLine("LinkedList hiện đang rỗng!");
foreach (var n in list)
{
Console.WriteLine(n); // Không in gì cả
}
}
}
Kết quả
Các nút trong LinkedList... 10 20 30 40 50 LinkedList hiện đang rỗng!
Ví dụ 2
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ố lượng nút = " + list.Count);
list.Clear();
Console.WriteLine("Số lượng nút (sau Clear) = " + list.Count);
}
}
Kết quả
Số lượng nút = 10 Số lượng nút (sau Clear) = 0
Lưu ý quan trọng
Clear()xóa tất cả nút, độ phức tạp O(n) vì phải giải phóng từng nút.- Sau
Clear(),FirstvàLasttrả vềnull. - LinkedList không có phương thức
RemoveRange(), chỉ cóRemove()(xóa 1 nút) vàClear(). - Khác với
List<T>, LinkedList không dời chuyển phần tử khi xóa, chỉ cập nhật con trỏ. - Để xóa nút cụ thể, dùng
Remove(value)hoặcRemove(node).