เมธอด Clear() ของ SortedSet<T> ใช้ลบองค์ประกอบทั้งหมด ทำให้ชุดข้อมูลว่างเปล่า (Count = 0) แต่ยังคงออบเจ็กต์ไว้ใช้งานได้
ตัวอย่างที่ 1: SortedSet<string> ก่อน/หลัง Clear
using System;
using System.Collections.Generic;
public class Demo
{
public static void Main()
{
SortedSet<string> set1 = new SortedSet<string>();
set1.Add("AB");
set1.Add("BC");
set1.Add("CD");
set1.Add("EF");
Console.WriteLine("องค์ประกอบใน SortedSet1...");
foreach (string res in set1)
{
Console.WriteLine(res);
}
SortedSet<string> set2 = new SortedSet<string>();
set2.Add("BC");
set2.Add("CD");
set2.Add("DE");
set2.Add("EF");
set2.Add("AB");
set2.Add("HI");
set2.Add("JK");
Console.WriteLine("องค์ประกอบใน SortedSet2...");
foreach (string res in set2)
{
Console.WriteLine(res);
}
Console.WriteLine("จำนวนองค์ประกอบใน SortedSet = " + set2.Count); // 7
// ลบทั้งหมด
set2.Clear();
Console.WriteLine("จำนวนองค์ประกอบใน SortedSet (อัปเดต) = " + set2.Count); // 0
}
}
ผลลัพธ์ (เรียงลำดับอัตโนมัติ)
องค์ประกอบใน SortedSet1... AB BC CD EF องค์ประกอบใน SortedSet2... AB BC CD DE EF HI JK จำนวนองค์ประกอบใน SortedSet = 7 จำนวนองค์ประกอบใน SortedSet (อัปเดต) = 0
ตัวอย่างที่ 2: SortedSet<int>
using System;
using System.Collections.Generic;
public class Demo
{
public static void Main()
{
SortedSet<int> set1 = new SortedSet<int>();
set1.Add(100);
set1.Add(200);
set1.Add(300);
set1.Add(400);
Console.WriteLine("องค์ประกอบใน SortedSet...");
foreach (int res in set1)
{
Console.WriteLine(res);
}
Console.WriteLine("จำนวนองค์ประกอบใน SortedSet = " + set1.Count); // 4
set1.Clear();
Console.WriteLine("จำนวนองค์ประกอบใน SortedSet (อัปเดต) = " + set1.Count); // 0
}
}
ผลลัพธ์
องค์ประกอบใน SortedSet... 100 200 300 400 จำนวนองค์ประกอบใน SortedSet = 4 จำนวนองค์ประกอบใน SortedSet (อัปเดต) = 0
คุณสมบัติและเมธอดหลักของ SortedSet<T>
| สมาชิก | คำอธิบาย |
|---|---|
Add(T) | เพิ่มองค์ประกอบ (คืน true ถ้าเพิ่มสำเร็จ false ถ้ามีอยู่แล้ว) |
Remove(T) | ลบองค์ประกอบที่ระบุ |
Clear() | ลบทั้งหมด |
Contains(T) | ตรวจสอบว่ามีองค์ประกอบหรือไม่ O(log n) |
Count | จำนวนองค์ประกอบ |
Min / Max | ค่าต่ำสุด/สูงสุด (O(1)) |
GetViewBetween | ดูช่วงย่อย (Subset view) |
UnionWith, IntersectWith, ExceptWith, SymmetricExceptWith | ปฏิบัติการเซต |
ข้อสังเกต
SortedSet<T>ใช้ Red-Black Tree รักษาลำดับเรียงอัตโนมัติ- การค้นหา แทรก ลบ ใช้เวลา O(log n)
- ไม่อนุญาตค่าซ้ำ (เป็น Set)
- ต้องการให้ T implements
IComparable<T>หรือระบุIComparer<T>ตอนสร้าง - หลัง
Clear()สามารถ Add ใหม่ได้ทันที