একটি ইন্টারফেস HashSet<T>
প্রয়োগ করে ICollection<T>
:
public interface ICollection<T> : IEnumerable<T>, IEnumerable
{
// Methods
void Add(T item);
void Clear();
bool Contains(T item);
void CopyTo(T[] array, int arrayIndex);
bool Remove(T item);
// Properties
int Count { get; }
bool IsReadOnly { get; }
}
একটি List<T>
সরঞ্জাম IList<T>
, যা প্রসারিত করেICollection<T>
public interface IList<T> : ICollection<T>
{
// Methods
int IndexOf(T item);
void Insert(int index, T item);
void RemoveAt(int index);
// Properties
T this[int index] { get; set; }
}
একটি হ্যাশসেট অভ্যন্তরীণভাবে একটি হ্যাশটেবলের মাধ্যমে প্রয়োগ করেছেন শব্দার্থকগুলি সেট করেছেন:
একটি সেট একটি সংগ্রহ যা কোনও সদৃশ উপাদান নেই এবং যার উপাদানগুলি কোনও নির্দিষ্ট ক্রমে নেই।
হ্যাডসেট কী উপার্জন করতে পারে, যদি এটি সূচক / অবস্থান / তালিকার আচরণ হারায়?
হ্যাশসেট থেকে আইটেম যুক্ত করা এবং পুনরুদ্ধার করা সর্বদা অবজেক্টের দ্বারা হয়, কোনও সূচক দ্বারা নয়, এবং ও (1) অপারেশনের কাছাকাছি থাকে (তালিকাটি ও (1) অ্যাড, ও (1) সূচক দ্বারা পুনরুদ্ধার, ও (এন) সন্ধান করুন /অপসারণ).
একটি হ্যাশসেটের আচরণকে Dictionary<TKey,TValue>
কেবলমাত্র কীগুলিকে মান হিসাবে যুক্ত / মুছে ফেলার মাধ্যমে এবং অভিধানের মানগুলিকে উপেক্ষা করে তুলনা করা যেতে পারে । আপনি অভিধানে কীগুলি ডুপ্লিকেট মান না রাখার প্রত্যাশা করবেন এবং এটি "সেট" অংশের মূল বিষয়।
SortedSet
ডেটা স্ট্রাকচার সরবরাহ করে তা হ'ল একটি সংস্থার সম্পত্তি না হওয়ার বিষয়ে আপনি যা বলেছেন তার সাথে বিরোধিতা করে - বা উন্নয়ন দল থেকে কোনও ভুল বোঝাবুঝির নির্দেশ করে।