Mark:
This link should give you an overview...but it's a broad (yet
straightforward) subject.
http://www.zdnet.com.au/builder/program/windows/story/0,2000035027,20265230,00.htm
An arraylist for instance is in fact a collection. You can store any object
you want in one.
A hashtable is a specialty type that allows you to relate a stored value to
a key...this facilitates finding things quickly without iteration and with
knowing the item's position.
Queue's a first in first out objects and stacks are the reverse.
Comparing a HashTable to a Queue is not apples to apples b/c they are used
totally differently. I often use Hash Tables and never remove the items.
On the other hand, I'd never use a Queue or stack and leave everything
sitting on them.
I'd recommend doing a google search on .NET Collections, Strongly Typed
Collections (which are much cooler) etc.
Good Luck, and if you have any particular questions, please let me know.
Bill