Collection Types Commonly Used in .NET

This is a question that was asked during an interview and I didn’t know the correct answer, so I thought I would add the information I found to “My Online Notepad“. Maybe it can also help someone else.

  • Hash Tables – A collection of key/value pairs that are organized based on the hash code of the key. The Dictionary(Of TKey, TValue) and ConcurrentDictionary(Of TKey, TValue) classes have similar functionality as the Hashtable. The elements of Hashtable are of type Object, so boxing and unboxing typically occur when you store or retrieve a value type.
  • Queues – A first-in, first-out collection of objects. This is useful if you want to access the information in the same order that it is stored in the collection. There are three primary operation that can be performed on Queues and its element: Enqueue, Dequeue, Peek
  • Stacks – A simple last-in-first-out (LIFO) non-generic collection of objects. There are three primary operation that can be performed on Stacks and its element: Push, Pop, Peek
  • Dictionaries – A collection of keys and values. Typically provides better performance than a Hashtable for value types.
  • Lists – A strongly typed list of objects that can be accessed by index. Provides methods to search, sort, and manipulate lists.