Queue ক্লাস Collection ইন্টারফেস এক্সটেন্ড করে এবং এটি ফার্স্ট-ইন-ফার্স্ট-আউট (FIFO) ব্যবহার করে ইন্সার্ট এবং রিমুভ অপারেশন সমর্থন করে। Stack হল Vector ক্লাসের একটি সাবক্লাস এবং এটি অবজেক্টের লাস্ট-ইন-ফার্স্ট-আউট (LIFO) স্ট্যাক উপস্থাপন করে। স্ট্যাকের উপরে যোগ করা শেষ এলিমেন্ট (ইন) স্ট্যাক থেকে সরানো (আউট) হওয়া প্রথম এলিমেন্ট হতে পারে। নিচের প্রোগ্রামে আমরা Stack ব্যবহার করে Queue বাস্তবায়ন করতে পারি।
উদাহরণ
import java.util.*;
public class QueueUsingStackTest {
private Stack stack1 = new Stack<>();
private Stack stack2 = new Stack<>();
public void enqueue(int element) {
stack1.push(element);
System.out.println(element + " inserted");
}
public void dequeue() {
if(stack2.isEmpty()) {
while (!stack1.isEmpty()) {
stack2.push(stack1.pop());
}
}
System.out.println(stack2.pop() + " removed");
}
public static void main(String args[]) {
QueueUsingStackTest test = new QueueUsingStackTest();
test.enqueue(10);
test.enqueue(50);
test.enqueue(100);
test.dequeue();
}
}
আউটপুট
10 inserted 50 inserted 100 inserted 10 removed