Một câu hỏi rất đơn giản và nhanh chóng trên các thư viện Java: có một lớp được tạo sẵn thực hiện a Queue
với kích thước tối đa cố định - tức là nó luôn cho phép thêm các phần tử, nhưng nó sẽ âm thầm loại bỏ các phần tử đầu để chứa không gian cho các phần tử mới được thêm vào.
Tất nhiên, thật tầm thường khi thực hiện nó một cách thủ công:
import java.util.LinkedList;
public class LimitedQueue<E> extends LinkedList<E> {
private int limit;
public LimitedQueue(int limit) {
this.limit = limit;
}
@Override
public boolean add(E o) {
super.add(o);
while (size() > limit) { super.remove(); }
return true;
}
}
Theo như tôi thấy, không có triển khai tiêu chuẩn nào trong các stdlib Java, nhưng có thể có một trong Apache Commons hay đại loại như thế?