บทความนี้สาธิตวิธีการลบสมาชิก (element) ที่ระบุออกจาก HashSet<T> โดยใช้ method Remove(T item)
ตัวอย่างที่ 1: ลบสมาชิกจาก HashSet สตริง
using System;
using System.Collections.Generic;
public class Demo
{
public static void Main()
{
HashSet<string> set1 = new HashSet<string>();
set1.Add("AB");
set1.Add("CD");
set1.Add("EF");
set1.Add("AB"); // duplicate - จะไม่ถูกเพิ่ม
set1.Add("IJ");
set1.Add("KL");
set1.Add("EF"); // duplicate
set1.Add("OP");
Console.WriteLine("Elements in HashSet1");
foreach (string val in set1)
{
Console.WriteLine(val);
}
HashSet<string> set2 = new HashSet<string>();
set2.Add("EF");
set2.Add("KL");
Console.WriteLine("Elements in HashSet2");
foreach (string val in set2)
{
Console.WriteLine(val);
}
Console.WriteLine("Count of elements in HashSet2 = " + set2.Count);
set2.Remove("KL");
Console.WriteLine("\nElements in HashSet2... (UPDATED)");
foreach (string res in set2)
{
Console.WriteLine(res);
}
Console.WriteLine("Count of elements in HashSet2 (Updated) = " + set2.Count);
Console.WriteLine("\nIs set1 a superset of set2? " + set1.IsSupersetOf(set2));
}
}
ผลลัพธ์
Elements in HashSet1 AB CD EF IJ KL OP Elements in HashSet2 EF KL Count of elements in HashSet2 = 2 Elements in HashSet2... (UPDATED) EF Count of elements in HashSet2 (Updated) = 1 Is set1 a superset of set2? True
ตัวอย่างที่ 2: ลบสมาชิกจาก HashSet ตัวเลข
using System;
using System.Collections.Generic;
public class Demo
{
public static void Main()
{
HashSet<int> set1 = new HashSet<int>();
set1.Add(100);
set1.Add(200);
set1.Add(300);
set1.Add(400);
set1.Add(500);
set1.Add(600);
Console.WriteLine("Elements in HashSet");
foreach (int val in set1)
{
Console.WriteLine(val);
}
Console.WriteLine("Count of elements in HashSet = " + set1.Count);
set1.Remove(300);
Console.WriteLine("\nElements in HashSet... (UPDATED)");
foreach (int res in set1)
{
Console.WriteLine(res);
}
Console.WriteLine("Count of elements in HashSet (Updated) = " + set1.Count);
}
}
ผลลัพธ์
Elements in HashSet 100 200 300 400 500 600 Count of elements in HashSet = 6 Elements in HashSet... (UPDATED) 100 200 400 500 600 Count of elements in HashSet (Updated) = 5
คำอธิบายเพิ่มเติม
HashSet<T>ไม่อนุญาตค่าซ้ำ (unique values only) - เพิ่มซ้ำจะถูกข้ามไปRemove(T item)ลบสมาชิกที่ระบุ คืนค่าtrueถ้าลบสำเร็จ,falseถ้าไม่พบ- เวลา complexity: O(1) เฉลี่ย - เร็วมากเพราะใช้ hash table
- ไม่สนใจลำดับ (unordered) - การวนลูปอาจไม่ได้ลำดับที่เพิ่มเข้าไป
- มี method เพิ่มเติม:
RemoveWhere(predicate),Clear(),ExceptWith(),SymmetricExceptWith()