Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

เราจะใช้งาน Stack โดยใช้ Queue ใน Java ได้อย่างไร


กอง เป็นคลาสย่อยของ เวกเตอร์ คลาสและเป็นตัวแทนของ last-in-first-out (LIFO) กองวัตถุ องค์ประกอบสุดท้ายที่เพิ่มที่ด้านบนของสแต็ก (ใน) อาจเป็นองค์ประกอบแรกที่จะลบ (ออก) ออกจากสแต็ก

คิว คลาสขยาย คอลเลกชัน อินเทอร์เฟซและสนับสนุน การแทรก และ ลบ การดำเนินงานโดยใช้เข้าก่อนออกก่อน (FIFO) . นอกจากนี้เรายังสามารถใช้ Stack โดยใช้ Queue ในโปรแกรมด้านล่างได้

ตัวอย่าง

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]