SortedSet<T>.GetViewBetween() मेथड निर्दिष्ट रेंज में आने वाले तत्वों का एक व्यू (सबसेट) लौटाता है। यह व्यू मूल सेट से जुड़ा रहता है - व्यू में परिवर्तन मूल सेट को प्रभावित करते हैं और इसके विपरीत।
उदाहरण 1: स्ट्रिंग SortedSet में रेंज व्यू
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 item in set1) {
Console.WriteLine(item);
}
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("\nSortedSet2 में तत्व (एन्यूमरेटर से)...");
SortedSet<string>.Enumerator enumerator = set2.GetEnumerator();
while (enumerator.MoveNext()) {
Console.WriteLine(enumerator.Current);
}
// "CD" से "EF" तक का व्यू प्राप्त करें (दोनों समावेशी)
SortedSet<string> set3 = set2.GetViewBetween("CD", "EF");
Console.WriteLine("\nSortedSet3 में तत्व (CD से EF तक)...");
foreach (string item in set3) {
Console.WriteLine(item);
}
}
}
आउटपुट
SortedSet1 में तत्व...
AB
BC
CD
EF
SortedSet2 में तत्व (एन्यूमरेटर से)...
AB
BC
CD
DE
EF
HI
JK
SortedSet3 में तत्व (CD से EF तक)...
CD
DE
EF
उदाहरण 2: इंटीजर SortedSet में रेंज व्यू
using System;
using System.Collections.Generic;
public class Demo {
public static void Main() {
SortedSet<int> set1 = new SortedSet<int>();
set1.Add(50);
set1.Add(100);
set1.Add(150);
set1.Add(200);
set1.Add(250);
set1.Add(300);
set1.Add(350);
set1.Add(400);
set1.Add(450);
set1.Add(500);
Console.WriteLine("SortedSet1 में तत्व...");
foreach (int item in set1) {
Console.WriteLine(item);
}
// 150 से 400 तक का व्यू
SortedSet<int> set2 = set1.GetViewBetween(150, 400);
Console.WriteLine("\nSortedSet2 में तत्व (150 से 400 तक)...");
foreach (int item in set2) {
Console.WriteLine(item);
}
}
}
आउटपुट
SortedSet1 में तत्व...
50
100
150
200
250
300
350
400
450
500
SortedSet2 में तत्व (150 से 400 तक)...
150
200
250
300
350
400
महत्वपूर्ण विशेषताएं
- समावेशी रेंज: दोनों निचली और ऊपरी सीमाएं शामिल हैं।
- लाइव व्यू: व्यू में जोड़ना/हटाना मूल सेट को प्रभावित करता है।
- सॉर्टेड क्रम: व्यू सॉर्टेड क्रम बनाए रखता है।
- सीमा जांच: व्यू के बाहर तत्व जोड़ने का प्रयास
ArgumentOutOfRangeExceptionफेंकता है। - प्रदर्शन: O(log n) खोज + रेंज में तत्वों की संख्या के अनुपात में।