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:
Recommended Posts:
- C# | Get object at the top of the Stack - Peek operation
- Getting an object at the beginning of the Queue in C#
- C# | Add an object to the end of the Queue - Enqueue Operation
- Queue.Peek Method in C#
- C# | Insert an object at the top of the Stack - Push Operation
- Stack.Peek Method in C#
- C# | Check if an array object is equal to another array object
- C# | Bitwise OR operation between the elements of BitArray
- C# | Bitwise exclusive OR operation between the elements of BitArray
- C# | Queue Class
- Queue.Contains() Method in C#
- How to create a Queue in C#
- C# Queue with Examples
- C# | Convert Queue To array
- How to get Synchronize access to the Queue in C#
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.