>  기사  >  Java  >  Java에서 큐를 사용하여 스택을 어떻게 구현할 수 있나요?

Java에서 큐를 사용하여 스택을 어떻게 구현할 수 있나요?

王林
王林앞으로
2023-08-25 17:05:111431검색

Java에서 큐를 사용하여 스택을 어떻게 구현할 수 있나요?

A Stack은 객체의 LIFO(후입선출) 스택을 나타내는 Vector 클래스의 하위 클래스입니다. 스택 맨 위에 추가된 마지막 요소(In)는 스택에서 제거된 첫 번째 요소(Out)일 수 있습니다.

Queue 클래스는 Collection 인터페이스를 확장하고 FIFO(선입선출)를 사용한 삽입 및 삭제 작업을 지원합니다. 다음 프로그램에서는 대기열을 사용하여 스택을 구현할 수도 있습니다.

import java.util.*;
public class StackFromQueueTest {
   Queue queue = new LinkedList();
<strong>   public void push(int value) {
</strong>      int queueSize = queue.size();
      queue.add(value);
      for (int i = 0; i < queueSize; i++) {
         queue.add(queue.remove());
      }
   }
<strong>   public void pop() {
</strong>      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);
   }
}

출력

<strong>[40, 30, 20, 10]
</strong>An element removed from a stack is: 40
<strong>[30, 20, 10]</strong>

위 내용은 Java에서 큐를 사용하여 스택을 어떻게 구현할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제