자바: Queue(큐)

친환경 개발자
|2024. 6. 2. 21:56



Queue(큐)

  • 데이터의 순서를 유지, 가장 먼저 들어온 데이터가 가장 먼저 나가는 자료 구조(선입선출 = FirstInFirstOut)
  • 줄 서기, 인쇄 작업 처리, 프로세스 관리 등에서 사용

 

 

자바에서 큐의 주요 메서드

  • add(요소값): 큐의 끝에 요소를 추가 (큐가 다 차면 예외 발생)
  • offer(요소값): 큐의 끝에 요소를 추가 (큐가 다 차면 false 반환)

  • remove(): 큐의 앞에서 요소를 제거하고 반환 (비어있으면 예외 발생)

  • poll(): 큐의 앞에서 요소를 제거하고 반환 (비어있으면 null 반환)

  • element(): 큐의 앞에 있는 요소를 반환 (비어있으면 예외 발생)

  • peek(): 큐의 앞에 있는 요소를 반환 (비어있으면 null 반환)

  • isEmpty(): 큐가 비어있는지 확인 (true / false)

  • size(): 큐의 요소 개수 반환

 

 

예시

import java.util.LinkedList;
import java.util.Queue;

public class Main {
    public static void main(String[] args) {
        Queue<Integer> queue = new LinkedList<>();

        // 요소 추가 (enqueue)
        queue.add(1);  // 또는 queue.offer(1);
        queue.add(2);
        queue.add(3);

        // 요소 확인 (peek)
        System.out.println("Front element: " + queue.peek());  // 또는 queue.element();

        // 요소 제거 (dequeue)
        System.out.println("Removed element: " + queue.poll());  // 또는 queue.remove();

        // 큐가 비어있는지 확인
        System.out.println("Is queue empty? " + queue.isEmpty());

        // 큐의 크기 확인
        System.out.println("Queue size: " + queue.size());
    }
}