如果出现以下情况,我应该使用哪种收藏:
- 我想存储最大值。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接口一起使用将是一个好主意。这样您就可以随意更改实际的实现。