LimitedSizeQueue.java 546 B

1234567891011121314151617181920212223242526272829303132
  1. package holeg.ui.model;
  2. import java.util.ArrayList;
  3. public class LimitedSizeQueue<T> extends ArrayList<T> {
  4. private final int maxSize;
  5. public LimitedSizeQueue(int size) {
  6. this.maxSize = size;
  7. }
  8. public boolean add(T k) {
  9. boolean r = super.add(k);
  10. if (size() > maxSize) {
  11. removeRange(0, size() - maxSize);
  12. }
  13. return r;
  14. }
  15. public void removeRange(int a, int b) {
  16. super.removeRange(a, b);
  17. }
  18. public T getYoungest() {
  19. return get(size() - 1);
  20. }
  21. public T getOldest() {
  22. return get(0);
  23. }
  24. }