C# | Get the object at the beginning of the Queue – Peek Operation
Queue represents a first-in, first out collection of object. It is used when you need a first-in, first-out access of items. When you add an item in the list, it is called enqueue, and when you remove an item, it is called deque. Queue
Properties:
- Enqueue adds an element to the end of the Queue.
- Dequeue removes the oldest element from the start of the Queue.
- Peek returns the oldest element that is at the start of the Queue but does not remove it from the Queue.
- The capacity of a Queue is the number of elements the Queue can hold.
- As elements are added to a Queue, the capacity is automatically increased as required by reallocating the internal array.
- Queue accepts null as a valid value for reference types and allows duplicate elements.
Syntax :
object Peek();
Return Value : The Peek() method always returns the first item from a queue collection without removing it from the queue. Calling Peek() and Dequeue() methods on an empty queue collection will throw a run time exception “InvalidOperationException”.
Below given are some examples to understand the implementation in a better way:
Example 1:
// C# code to Get object at // the beginning of the Queue using System; using System.Collections.Generic; class GFG { // Driver code public static void Main() { // Creating a Queue of strings Queue< string > myQueue = new Queue< string >(); // Inserting the elements into the Queue myQueue.Enqueue( "1st Element" ); myQueue.Enqueue( "2nd Element" ); myQueue.Enqueue( "3rd Element" ); myQueue.Enqueue( "4th Element" ); myQueue.Enqueue( "5th Element" ); myQueue.Enqueue( "6th Element" ); // Displaying the count of elements // contained in the Queue Console.Write( "Total number of elements in the Queue are : " ); Console.WriteLine(myQueue.Count); // Displaying the beginning element of Queue // without removing it from the Queue Console.WriteLine( "Element at the beginning is : " + myQueue.Peek()); // Displaying the beginning element of Queue // without removing it from the Queue Console.WriteLine( "Element at the beginning is : " + myQueue.Peek()); // Displaying the count of elements // contained in the Queue Console.Write( "Total number of elements in the Queue are : " ); Console.WriteLine(myQueue.Count); } } |
Total number of elements in the Queue are : 6 Element at the beginning is : 1st Element Element at the beginning is : 1st Element Total number of elements in the Queue are : 6
Example 2:
// C# code to Get object at // the beginning of the Queue using System; using System.Collections.Generic; class GFG { // Driver code public static void Main() { // Creating a Queue of Integers Queue< int > myQueue = new Queue< int >(); // Displaying the beginning element of Queue // without removing it from the Queue // Calling Peek() method on empty Queue // will throw InvalidOperationException. Console.WriteLine( "Element at the beginning is : " + myQueue.Peek()); } } |
Runtime Error:
Unhandled Exception:
System.InvalidOperationException: Queue empty.
Reference:
- https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.queue-1.peek?view=netframework-4.7.2
Contact Us