Queue is a class handles a circular array. It add element to the end, and remove element from the start position.
It's useful when you want to store some data temporarily. For example,
discard the data when its value has been retrieved.
Queue q = new Queue();
do not implement IList, ICollection, so it do not has Add, Remove and Sort methods. It use Dequeue
to read one element from the start position, and at the same time delete it.
q.Peek(); //read one from the start, but not delete it
Queue<string> q= new Queue<string>();
string str = q.Dequeue(); //str="John"