有没有办法在调用入队函数后返回队列,使得返回的队列包含新元素并且原始队列保持不变?
例如
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]
最佳答案
CopyOnWriteArrayList可能是您队列的替代方案,它可能具有您想要的行为。对于这是否足以满足您的目的没有评论。
关于java - 在不改变结构的情况下将元素入队,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18420942/