C# में HashSet<T> वर्ग की RemoveWhere(Predicate<T>) विधि का उपयोग करके उन सभी तत्वों को हटाया जा सकता है जो निर्दिष्ट प्रीडिकेट (शर्त) से मेल खाते हैं। यह विधि प्रीडिकेट से मेल खाने वाले सभी तत्वों को एक साथ हटाती है और हटाए गए तत्वों की संख्या लौटाती है।
उदाहरण 1: विशिष्ट मान 100 हटाना
using System;
using System.Collections.Generic;
public class Demo {
private static bool Demo(int i) {
return (i == 100);
}
public static void Main(String[] args) {
HashSet list = new HashSet();
list.Add(100);
list.Add(300);
list.Add(400);
list.Add(500);
list.Add(600);
Console.WriteLine("HashSet तत्व...");
foreach (int i in list) {
Console.WriteLine(i);
}
Console.WriteLine();
int removedCount = list.RemoveWhere(Demo);
Console.WriteLine("तत्व 100 हटाने के बाद HashSet...");
foreach (int i in list) {
Console.WriteLine(i);
}
Console.WriteLine("हटाए गए तत्वों की संख्या: " + removedCount);
}
}
आउटपुट
HashSet तत्व... 100 300 400 500 600 HashSet तत्व 100 हटाने के बाद... 300 400 500 600 हटाए गए तत्वों की संख्या: 1
उदाहरण 2: 10 से विभाज्य तत्व हटाना
using System;
using System.Collections.Generic;
public class Demo {
private static bool Demo(int i) {
return ((i % 10) == 0);
}
public static void Main(String[] args) {
HashSet list = new HashSet();
list.Add(100);
list.Add(355);
list.Add(400);
list.Add(555);
list.Add(600);
Console.WriteLine("HashSet तत्व...");
foreach (int i in list) {
Console.WriteLine(i);
}
Console.WriteLine();
int removedCount = list.RemoveWhere(Demo);
Console.WriteLine("कुछ तत्व हटाने के बाद HashSet...");
foreach (int i in list) {
Console.WriteLine(i);
}
Console.WriteLine("हटाए गए तत्वों की संख्या: " + removedCount);
}
}
आउटपुट
HashSet तत्व... 100 355 400 555 600 HashSet कुछ तत्व हटाने के बाद... 355 555 हटाए गए तत्वों की संख्या: 3
मुख्य बिंदु
RemoveWhere(Predicate<T>)प्रीडिकेट से मेल खाने वाले सभी तत्व हटाता है- वापसी मान
intहोता है: हटाए गए तत्वों की संख्या HashSet<T>डुप्लिकेट नहीं रखता और क्रम गारंटी नहीं देता- प्रीडिकेट एक फ़ंक्शन है जो
boolलौटाता है - लैम्ब्डा एक्सप्रेशन का उपयोग कर सकते हैं:
set.RemoveWhere(x => x % 10 == 0) - औसत समय जटिलता O(n) है जहाँ n तत्वों की संख्या है