1

有没有办法在调用入队函数后返回队列,以使返回的队列包含新元素而原始队列保持不变?

例如

ArrayList<T> result = new ArrayList<T>(list);
result.add(0, t);
return result;

这将返回一个新队列,但这种方法太慢了。还有其他方法吗?也许通过与原始队列共享结构?

主要问题是如何返回一个新队列(在将元素附加到队列之后)但不复制原始队列的其余部分。(有没有办法参考它?)

例如 original_queue=[1 2 3 4 5]

调用 enqueue(6) 应该返回 [1 2 3 4 5 6]

但 original_queue=[1 2 3 4 5]

4

1 回答 1

0

CopyOnWriteArrayList may be an alternative for your queue, that may have the behaviour you want. No comment on whether this will be efficient enough for your purposes.

于 2013-08-24T17:09:07.650 回答