Sebuah pertanyaan yang sangat sederhana & cepat di perpustakaan Java: apakah ada kelas yang sudah jadi yang mengimplementasikan a Queue
dengan ukuran maksimum tetap - yaitu selalu memungkinkan penambahan elemen, tetapi akan secara diam-diam menghapus elemen kepala untuk mengakomodasi ruang untuk elemen yang baru ditambahkan.
Tentu saja, sangat mudah untuk mengimplementasikannya secara manual:
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;
}
}
Sejauh yang saya lihat, tidak ada implementasi standar di stdlibs Java, tetapi mungkin ada satu di Apache Commons atau sesuatu seperti itu?