본문 바로가기
카테고리 없음

자바 Queue 클래스 사용법 & 예제 총정리

by sftt 2023. 12. 6.

자바 Queue 클래스

Queue 클래스는 자바 컬렉션 프레임워크에서 제공하는 인터페이스로, FIFO(First-In-First-Out) 방식으로 요소(element)를 저장하는 자료구조를 구현한 클래스입니다. Queue는 '대기열'이라는 의미로, 일반적인 큐(Queue)의 동작 원리를 구현하여 요소를 추가하거나 제거할 수 있습니다.

Queue 클래스의 주요 메서드

  1. boolean add(E element): Queue에 요소를 추가하고, 추가에 성공하면 true를 반환합니다.

  2. boolean offer(E element): Queue에 요소를 추가하고, 추가에 성공하면 true를 반환합니다.

  3. E remove(): Queue의 맨 앞에 있는 요소를 제거하고 해당 요소를 반환합니다. Queue가 비어있을 경우 NoSuchElementException 예외를 발생시킵니다.

  4. E poll(): Queue의 맨 앞에 있는 요소를 제거하고 해당 요소를 반환합니다. 요소가 없을 경우 null을 반환합니다.

  5. E element(): Queue의 맨 앞에 있는 요소를 반환합니다. Queue가 비어있을 경우 NoSuchElementException 예외를 발생시킵니다.

  6. E peek(): Queue의 맨 앞에 있는 요소를 반환합니다. 요소가 없을 경우 null을 반환합니다.

Queue 클래스의 예제

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

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

        // 요소 추가
        queue.add("apple");
        queue.offer("banana");
        queue.offer("cherry");

        // 요소 확인
        System.out.println("Queue: " + queue);

        // 요소 제거
        String removedElement1 = queue.remove();
        System.out.println("Removed Element: " + removedElement1);
        System.out.println("Queue after removal: " + queue);

        // 요소 반환
        String element = queue.element();
        System.out.println("Element at front: " + element);

        // 요소 제거 및 반환
        String removedElement2 = queue.poll();
        System.out.println("Removed Element: " + removedElement2);
        System.out.println("Queue after removal: " + queue);
    }
}

위의 예제는 Queue 인터페이스를 구현한 LinkedList 클래스를 활용하여 Queue를 구현한 예제입니다. Queue에 요소를 추가하고, remove() 및 poll()을 통해 요소를 제거하고 반환한 후, element() 및 peek()을 통해 Queue의 맨 앞 요소를 확인합니다. 예제 실행 결과는 다음과 같습니다:

Queue: [apple, banana, cherry]
Removed Element: apple
Queue after removal: [banana, cherry]
Element at front: banana
Removed Element: banana
Queue after removal: [cherry]

댓글