কম্পিউটার টিউটোরিয়াল

C#-এ Queue.Peek মেথড


C#-এ Queue.Peek() মেথডটি Queue-এর শুরুতে (beginning) থাকা অবজেক্টটি রিটার্ন করে কিন্তু এটি Queue থেকে সরিয়ে দেয় না। Queue FIFO (First In, First Out) নীতিতে কাজ করে।

সিনট্যাক্স (Syntax)

public virtual object Peek ();

উদাহরণ ১: নন-জেনেরিক Queue-এ Peek() ব্যবহার

using System; 
using System.Collections; 
public class Demo { 
    public static void Main() { 
        Queue queue = new Queue(); 
        queue.Enqueue("AB"); 
        queue.Enqueue("BC"); 
        queue.Enqueue("CD"); 
        queue.Enqueue("DE"); 
        queue.Enqueue("EF"); 
        queue.Enqueue("FG"); 
        queue.Enqueue("GH"); 
        queue.Enqueue("HI"); 
        Console.WriteLine("Queue..."); 
        IEnumerator demoEnum = queue.GetEnumerator(); 
        while (demoEnum.MoveNext()) { 
            Console.WriteLine(demoEnum.Current); 
        } 
        Console.WriteLine("Queue element at the beginning = " + queue.Peek()); 
        Console.WriteLine("Is Queue synchronized? = " + queue.IsSynchronized); 
        Queue queue2 = Queue.Synchronized(queue); 
        Console.WriteLine("Is Queue synchronized now? = " + queue2.IsSynchronized); 
    } 
}

আউটপুট

Queue... 
AB 
BC 
CD 
DE 
EF 
FG 
GH 
HI 
Queue element at the beginning = AB 
Is Queue synchronized? = False 
Is Queue synchronized now? = True

উদাহরণ ২: জেনেরিক Queue<string>-এ Peek() ব্যবহার

using System; 
using System.Collections.Generic; 
public class Demo { 
    public static void Main() { 
        Queue<string> queue = new Queue<string>(); 
        queue.Enqueue("Gary"); 
        queue.Enqueue("Jack"); 
        queue.Enqueue("Ryan"); 
        queue.Enqueue("Kevin"); 
        queue.Enqueue("Mark"); 
        queue.Enqueue("Jack"); 
        queue.Enqueue("Ryan"); 
        queue.Enqueue("Kevin"); 
        Console.Write("Count of elements = "); 
        Console.WriteLine(queue.Count); 
        Console.WriteLine("Queue element at the beginning = " + queue.Peek()); 
        Console.WriteLine("Does the queue has element Jack? = " + queue.Contains("Jack")); 
        queue.Clear(); 
        Console.Write("Count of elements (updated) = "); 
        Console.WriteLine(queue.Count); 
    } 
}

আউটপুট

Count of elements = 8 
Queue element at the beginning = Gary 
Does the queue has element Jack? = True 
Count of elements (updated) = 0

মূল পয়েন্টস

  • Peek() মেথড Queue-এর ফ্রন্ট (front) এলিমেন্টটি শুধু দেখে, সরিয়ে দেয় না।
  • যদি Queue খালি থাকে, Peek() কল করলে InvalidOperationException থ্রো করে।
  • Dequeue() মেথড ফ্রন্ট এলিমেন্টটি রিটার্ন করে এবং সেটিকে Queue থেকে সরিয়ে দেয়।
  • জেনেরিক Queue<T> ব্যবহার টাইপ সেফটি (type safety) নিশ্চিত করে।
  1. C# তে ContainsKey() পদ্ধতি

  2. সি শার্পে SequenceEqual মেথড

  3. C#-এ Aggregate মেথড

  4. জাভাতে Queue ইন্টারফেসের peek(), poll() এবং remove() মেথডের পার্থক্য কী?