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

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

by kangs' tong 2023. 9. 12.

자바 Queue 클래스란?

자바의 Queue 클래스는 먼저 들어온 요소가 먼저 나가는 FIFO(First-In-First-Out) 자료구조를 구현한 클래스입니다. 큐는 일반적으로 데이터의 저장, 검색, 삭제를 위해 사용되며, 여러 다른 자료구조들과의 조합으로 다양한 알고리즘을 구현할 때 효과적으로 활용됩니다.

Queue 클래스의 메소드

자바 Queue 클래스는 다양한 메소드를 제공하며, 주요 메소드 몇 가지를 알아보겠습니다.

1. add(element) / offer(element)

큐에 요소를 추가합니다. 만약 요소를 추가할 수 없는 경우 add 메소드는 IllegalStateException을 발생시키고, offer 메소드는 false를 반환합니다.

Queue<String> queue = new LinkedList<>();

queue.add("apple");
queue.offer("banana");

2. remove() / poll()

큐의 첫 번째 요소를 제거하고 해당 요소를 반환합니다. 만약 큐가 비어있는 경우 remove 메소드는 NoSuchElementException을 발생시키고, poll 메소드는 null을 반환합니다.

Queue<String> queue = new LinkedList<>();

queue.add("apple");
queue.add("banana");

queue.remove(); // "apple"을 제거하고 반환
queue.poll(); // "banana"를 제거하고 반환

3. element() / peek()

큐의 첫 번째 요소를 반환합니다. 만약 큐가 비어있는 경우 element 메소드는 NoSuchElementException을 발생시키고, peek 메소드는 null을 반환합니다.

Queue<String> queue = new LinkedList<>();

queue.add("apple");
queue.add("banana");

queue.element(); // "apple"을 반환
queue.peek(); // "apple"을 반환

4. size()

큐에 포함된 요소의 개수를 반환합니다.

Queue<String> queue = new LinkedList<>();

queue.add("apple");
queue.add("banana");

queue.size(); // 2를 반환

위에서 소개한 메소드 외에도 다양한 메소드들이 Queue 클래스에서 제공되지만, 이 정도로도 큐를 다루는 데 충분합니다.

Queue 클래스 예제

이제 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.add("banana");
        queue.offer("cherry");

        // 요소 제거 및 출력
        System.out.println(queue.remove()); // "apple" 출력
        System.out.println(queue.poll()); // "banana" 출력

        // 첫 번째 요소 확인
        System.out.println(queue.element()); // "cherry" 출력
        System.out.println(queue.peek()); // "cherry" 출력

        // 큐의 크기 확인
        System.out.println(queue.size()); // 1 출력
    }
}

위의 예제는 큐에 요소를 추가하고 제거하는 방법을 보여줍니다. 큐에 'apple', 'banana', 'cherry' 순으로 추가한 후 remove와 poll 메소드를 이용해 요소를 제거하면서 출력합니다. 마지막으로 element와 peek 메소드를 이용해 첫 번째 요소를 확인하고 출력하며, 큐의 크기를 확인하여 출력합니다.

결론

이렇게 자바 Queue 클래스의 사용법과 예제를 알아보았습니다. 큐는 데이터의 순서가 중요한 경우에 유용하게 사용될 수 있는 자료구조입니다. Queue 클래스는 수많은 메소드들을 제공하여 큐의 다양한 작업을 도와주므로, 필요에 맞게 활용하여 프로그래밍에 최적화된 코드를 작성할 수 있습니다.

댓글