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.Peek Method is used to get the object at the beginning of the Queue without removing it.
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: