如果出现以下情况,我应该使用哪种收藏:
- 我想存储最大值。5
Enums
在集合 - 每秒可以多次读取、写入和迭代集合
- 如果我需要添加新元素,那么最旧的元素将被删除(假设它有
e1...e5
,当我添加e6
它时e2...e6
)。
我几乎总是会遍历整个系列。我想LinkedList
这是我需要的,但我不是很有经验Java
,所以我想确定一下。
如果出现以下情况,我应该使用哪种收藏:
Enums
在集合e1...e5
,当我添加e6
它时
e2...e6
)。我几乎总是会遍历整个系列。我想LinkedList
这是我需要的,但我不是很有经验Java
,所以我想确定一下。
如果您不需要强制执行队列的容量,您可以使用LinkedList
. 它实现Queue
了接口,这是您真正需要的。
像这样使用它:
Queue<EnumClass> queue = new LinkedList<EnumClass>();
queue.offer(newObj);
takenObj = queue.poll();
如果您必须限制大小,ArrayBlockingQueue
那将是一个不错的选择,因为不会有额外的内部对象创建(由数组支持的集合)。
Queue<EnumClass> queue = new ArrayBlockingQueue<EnumClass>(capacity);
不过,将它与Queue
接口一起使用将是一个好主意。这样您就可以随意更改实际的实现。