There are several Collections supported by C# language, some of which we rarely use in our projects & assignments. Let’s focus on two such collections – Queue and Stack.
Queue represents a Collection that works on FIFO principle. This is, hence, most appropriate in scenario where first-come first-serve basis is required. Queue has three methods / behaviors:
- Enqueue – To add an object into the queue
- Dequeue – Remove and return the object at the beginning of the queue
- Peek – Returns (but does not remove) the object at the beginning of the queue
Stack represents a Collection that works on LIFO principle. A Stack class exposes two methods / behaviors:
- Push – To add an object in the stack
- Pull – To retrieve and remove an object from the stack.
Comparison with an example
Let’s put 3 objects in both Queue and Stack : Apple, Orange, and Mellon in the same order.
While retrieving from both, the order would be:
Queue: Apple, Orange, Mellon
Stack: Mellon, Orange, Apple