列出最大元素

use*_*929 3 java list arraylist

我想在java中创建一个列表,在添加新元素时,将检查是否达到了限制.如果是,删除最旧的元素.

我正在考虑制作ArrayList的子节点并覆盖add(Object).在那里我会做到:

if(size() + 1 > MAX)
    remove(get(0));
super.add(newObject);
Run Code Online (Sandbox Code Playgroud)

有更好的方法吗?

dev*_*obf 5

可能有很多解决方案,但我认为如果你做出一个改变,你的方法是合适的:你的底层实现类应该是a LinkedList,而不是a ArrayList.其原因是,当你调用removeArrayList后取出值必须上移的每一个元素(做remove(0)的最糟糕的情况!).然而,这对于a来说不是问题LinkedList.