C#-এ Queue<T> ক্লাসের Peek() মেথড ব্যবহার করে কিউয়ের সামনে (front) থাকা অবজেক্টটি রিমুভ না করে দেখা যায়। এটি FIFO (First-In-First-Out) কিউয়ার হেড এলিমেন্ট রিটার্ন করে। কিউ খালি থাকলে InvalidOperationException থ্রো করে।
উদাহরণ ১: Peek() ব্যবহার করে ফ্রন্ট এলিমেন্ট দেখা
using System;
using System.Collections.Generic;
public class Demo {
public static void Main() {
Queue<string> queue = new Queue<string>();
queue.Enqueue("A");
queue.Enqueue("B");
queue.Enqueue("C");
queue.Enqueue("D");
queue.Enqueue("E");
queue.Enqueue("F");
queue.Enqueue("G");
Console.WriteLine("উপাদানের সংখ্যা = " + queue.Count);
Console.WriteLine("কিউয়ার শুরুয়ের উপাদান = " + queue.Peek());
}
}
আউটপুট
উপাদানের সংখ্যা = 7 কিউয়ার শুরুয়ের উপাদান = A
উদাহরণ ২: আরও এনকিউ করার পর Peek()
using System;
using System.Collections.Generic;
public class Demo {
public static void Main() {
Queue<string> queue = new Queue<string>();
queue.Enqueue("A");
queue.Enqueue("B");
queue.Enqueue("C");
queue.Enqueue("D");
queue.Enqueue("E");
queue.Enqueue("F");
queue.Enqueue("G");
Console.WriteLine("উপাদানের সংখ্যা = " + queue.Count);
Console.WriteLine("কিউয়ার শুরুয়ের উপাদান = " + queue.Peek());
queue.Enqueue("H");
queue.Enqueue("I");
queue.Enqueue("J");
Console.WriteLine("উপাদানের সংখ্যা = " + queue.Count);
Console.WriteLine("কিউয়ার শুরুয়ের উপাদান = " + queue.Peek());
}
}
আউটপুট
উপাদানের সংখ্যা = 7 কিউয়ার শুরুয়ের উপাদান = A উপাদানের সংখ্যা = 10 কিউয়ার শুরুয়ের উপাদান = A
ব্যাখ্যা: Peek() কিউয়ার হেড এলিমেন্ট রিটার্ন করে কিন্তু রিমুভ করে না। এটি O(1) অপারেশন। কিউয়ার থেকে এলিমেন্ট রিমুভ করতে Dequeue() ব্যবহার করুন (যেটি হেড রিমুভ করে এবং রিটার্ন করে)। Queue<T> একটি সার্কুলার বাফার বেসড ইমপ্লিমেন্টেশন। থ্রেড-সেফ নয়; মাল্টিথ্রেডেড সিনেরিওতে ConcurrentQueue<T> ব্যবহার করুন। নন-জেনেরিক Queue লিগ্যাসি।