[New] Added FixedSizeQueue
This commit is contained in:
parent
e459b561b8
commit
030ff9f6b3
|
@ -0,0 +1,33 @@
|
|||
package li.strolch.utils.collections;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.LinkedList;
|
||||
|
||||
public class FixedSizeQueue<E> extends LinkedList<E> {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private int maxSize;
|
||||
|
||||
public FixedSizeQueue(int size) {
|
||||
this.maxSize = size;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean add(E e) {
|
||||
boolean b = super.add(e);
|
||||
if (size() >= this.maxSize) {
|
||||
removeRange(0, size() - this.maxSize);
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addAll(int index, Collection<? extends E> c) {
|
||||
boolean b = super.addAll(index, c);
|
||||
if (size() >= this.maxSize) {
|
||||
removeRange(0, size() - this.maxSize);
|
||||
}
|
||||
return b;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue