C# में ArrayList क्लास
ArrayList (System.Collections) एक नॉन-जेनेरिक डायनामिक एरे है जो किसी भी टाइप के ऑब्जेक्ट्स स्टोर कर सकता है। यह IList, ICollection, IEnumerable इम्प्लीमेंट करता है। नोट: आधुनिक C# में List<T> प्रीफर किया जाता है (टाइप सेफ्टी, प्रदर्शन)।
ArrayList के मुख्य मेथड्स
| मेथड | विवरण |
Add(object) | अंत में एलिमेंट जोड़ता है; इंडेक्स लौटाता है। |
AddRange(ICollection) | कलेक्शन के एलिमेंट्स अंत में जोड़ता है। |
Clear() | सभी एलिमेंट्स हटाता है। |
Contains(object) | एलिमेंट मौजूद है? (बूलियन)। |
GetRange(index, count) | सबसेट लौटाता है (नया ArrayList)। |
IndexOf(object) | पहली घटना का इंडेक्स (नहीं मिलने पर -1)। |
Insert(index, object) | निर्दिष्ट इंडेक्स पर इन्सर्ट करता है। |
InsertRange(index, ICollection) | कलेक्शन इन्सर्ट करता है। |
Remove(object) | पहली घटना हटाता है। |
RemoveAt(index) | इंडेक्स पर एलिमेंट हटाता है। |
RemoveRange(index, count) | रेंज हटाता है। |
Reverse() | क्रम उलट देता है। |
Sort() | एलिमेंट्स सॉर्ट करता है (IComparable आवश्यक)। |
TrimToSize() | कैपेसिटी = काउंट सेट करता है। |
उदाहरण: ArrayList बनाना, जोड़ना, सॉर्ट करना
using System;
using System.Collections;
class Program {
static void Main() {
ArrayList arr = new ArrayList();
arr.Add(89);
arr.Add(34);
arr.Add(77);
arr.Add(90);
Console.Write("List: ");
foreach (int i in arr) Console.Write(i + " ");
Console.WriteLine();
arr.Sort(); // IComparable इम्प्लीमेंट करने वाले टाइप्स के लिए
Console.Write("Sorted List: ");
foreach (int i in arr) Console.Write(i + " ");
Console.WriteLine();
}
}
आउटपुट
List: 89 34 77 90
Sorted List: 34 77 89 90
ArrayList vs List<T>
| विशेषता | ArrayList | List<T> |
| टाइप सेफ्टी | नहीं (object स्टोर करता है) | हां (कंपाइल-टाइम चेक) |
| बॉक्सिंग/अनबॉक्सिंग | हां (वैल्यू टाइप्स के लिए) | नहीं |
| प्रदर्शन | धीमा | तेज |
| नेमस्पेस | System.Collections | System.Collections.Generic |
| उपयोग | लीगेसी कोड, COM इंटरऑप | आधुनिक C# (अनुशंसित) |
कब उपयोग करें
- पुराने .NET Framework कोडबेस के साथ काम करते समय।
- जब टाइप्स मिश्रित हों और डिज़ाइन बदलना संभव न हो।
- अन्यथा हमेशा
List<T> या अन्य जेनेरिक कलेक्शंस प्रीफर करें।