एक Stack, Vector क्लास का एक सबक्लास है और यह ऑब्जेक्ट्स के लास्ट-इन-फर्स्ट-आउट (LIFO) स्टैक को दर्शाता है। स्टैक के शीर्ष पर जोड़ा गया अंतिम एलिमेंट (In) स्टैक से हटाया जाने वाला पहला एलिमेंट (Out) हो सकता है।
एक Queue क्लास Collection इंटरफेस को एक्सटेंड करता है और यह फर्स्ट-इन-फर्स्ट-आउट (FIFO) का उपयोग करके इन्सर्ट और रिमूव ऑपरेशन को सपोर्ट करता है। हम नीचे दिए गए प्रोग्राम में Queue का उपयोग करके Stack को भी इम्प्लीमेंट कर सकते हैं।
उदाहरण
import java.util.*;
public class StackFromQueueTest {
Queue queue = new LinkedList();
public void push(int value) {
int queueSize = queue.size();
queue.add(value);
for (int i = 0; i < queueSize; i++) {
queue.add(queue.remove());
}
}
public void pop() {
System.out.println("An element removed from a stack is: " + queue.remove());
}
public static void main(String[] args) {
StackFromQueueTest test = new StackFromQueueTest();
test.push(10);
test.push(20);
test.push(30);
test.push(40);
System.out.println(test.queue);
test.pop();
System.out.println(test.queue);
}
}
आउटपुट
[40, 30, 20, 10] An element removed from a stack is: 40 [30, 20, 10]