Giới thiệu
Phương thức Contains(T value) của LinkedList<T> kiểm tra xem danh sách liên kết có chứa một giá trị cụ thể hay không. Phương thức này thực hiện duyệt tuyến tính từ đầu đến cuối (O(n)).
Ví dụ 1
using System;
using System.Collections.Generic;
public class Demo
{
public static void Main()
{
LinkedList linkedList = new LinkedList();
linkedList.AddLast(25);
linkedList.AddLast(50);
linkedList.AddLast(100);
linkedList.AddLast(200);
linkedList.AddLast(400);
linkedList.AddLast(500);
linkedList.AddLast(550);
linkedList.AddLast(600);
linkedList.AddLast(800);
linkedList.AddLast(1200);
Console.WriteLine("Số lượng nút = " + linkedList.Count);
foreach (int val in linkedList)
{
Console.WriteLine(val);
}
Console.WriteLine("LinkedList có chứa nút 800? " + linkedList.Contains(800));
}
}
Kết quả
Số lượng nút = 10 25 50 100 200 400 500 550 600 800 1200 LinkedList có chứa nút 800? = True
Ví dụ 2
using System;
using System.Collections.Generic;
public class Demo
{
public static void Main()
{
LinkedList linkedList = new LinkedList();
linkedList.AddLast("ABC");
linkedList.AddLast("BCD");
linkedList.AddLast("CDE");
linkedList.AddLast("DEF");
linkedList.AddLast("EFG");
linkedList.AddLast("FGH");
linkedList.AddLast("GHI");
linkedList.AddLast("HIJ");
linkedList.AddLast("IJK");
Console.WriteLine("Số lượng nút = " + linkedList.Count);
foreach (string val in linkedList)
{
Console.WriteLine(val);
}
Console.WriteLine("LinkedList có chứa nút 'KLM'? " + linkedList.Contains("KLM"));
}
}
Kết quả
Số lượng nút = 9 ABC BCD CDE DEF EFG FGH GHI HIJ IJK LinkedList có chứa nút 'KLM'? = False
Lưu ý quan trọng
Contains()duyệt từFirstđếnLast, độ phức tạp O(n).- LinkedList không hỗ trợ truy cập theo chỉ mục (indexer).
- Thêm/xóa ở đầu/cuối O(1) nếu có tham chiếu nút, nhưng tìm kiếm O(n).
- Nếu cần tìm kiếm thường xuyên, cân nhắc
HashSet<T>hoặcDictionary<TKey, TValue>song song. LinkedListphù hợp cho thao tác chèn/xóa nhiều ở giữa danh sách.