You can get more information in books and articles.
These references
http://stackoverflow.com/questions/128636/net-data-structures-arraylist-list-hashtable-dictionary-sortedlist-sorted[
^]
http://msdn.microsoft.com/en-us/library/xfhwa508.aspx[
^]
http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx[
^]
may be helpful.
But, to say what I understood about these in simple terms
1.
Dictionary
stores the
KeyValue
pairs. It is a generic collection class, which means there is
Type
safety. Generic types are particularly efficient in case of
value types
as they avoid boxing and unboxing. The corresponding non generic collection class is
HashTable
.
2.
ArrayList
is a non generic collection class to store items. The corresponding generic collection class is List<t> which is preferable for the same reason mentioned above.
If the values are required to be accessed through their keys then
Dictionary<KEY, VALUE>
collection class is suitable. Where only items are required to be stored without any need to associate each item with a corresponding key then
List<T>
is suitable.