[java] 자바 큐 인터페이스에 원소 개수 제한 설정하기

자바 큐 인터페이스는 특정한 구현에 대한 제한을 포함하지 않기 때문에, 큐에 원소의 개수를 제한하려면 커스텀 구현이 필요합니다. 일반적으로 원소 개수 제한을 설정하기 위해 큐를 기반으로 하여 새로운 클래스를 작성하게 됩니다.

아래는 제한된 크기의 큐를 만드는 간단한 예제 코드입니다.

import java.util.LinkedList;

public class LimitedQueue<T> {
    private LinkedList<T> queue = new LinkedList<>();
    private int maxSize;

    public LimitedQueue(int maxSize) {
        this.maxSize = maxSize;
    }

    public void enqueue(T element) {
        if (queue.size() == maxSize) {
            // 큐가 꽉 찼을 때 처리할 내용
            return;
        }
        queue.add(element);
    }

    public T dequeue() {
        return queue.poll();
    }
    
    public int size() {
        return queue.size();
    }
    
    // 기타 메서드 및 로직 추가 가능
}

위 예제 코드에서는 제한된 크기의 큐를 위한 LimitedQueue 클래스를 정의하였습니다. enqueue 메서드에서는 큐의 최대 크기를 체크하여 제한을 적용하고, dequeue 메서드에서는 큐의 원소를 꺼내 반환합니다. 필요에 따라 다른 메서드를 추가하여 기능을 확장할 수 있습니다.

이와 같이, 개별적으로 큐를 구현하여 원하는 원소의 개수 제한을 설정할 수 있습니다.

참고 문헌: