A Hàng đợi mở rộng lớp Bộ sưu tập và nó hỗ trợ các thao tác chèn và xóa bằng cách sử dụng nhập trước xuất trước (FIFO) . A Ngăn xếp là một lớp con của Vectơ và nó đại diện cho cuối cùng vào trước (LIFO) chồng các đối tượng. Phần tử cuối cùng được thêm ở đầu ngăn xếp (Vào) có thể là phần tử đầu tiên bị xóa (Ra) khỏi ngăn xếp. Chúng tôi cũng có thể triển khai Hàng đợi bằng cách sử dụng Ngăn xếp trong chương trình bên dưới.
Ví dụ
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(); } }
Đầu ra
10 inserted 50 inserted 100 inserted 10 removed