LimitedSizeQueue.java 601 B

12345678910111213141516171819202122232425262728293031
  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. }