java - 在不改变结构的情况下将元素入队

标签 java queue performance

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

例如

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/

相关文章:

java - 有效地检查大型数据集的子字符串

java - Tomcat : NIOConnector throws exception

python - 为Python中的列表保留内存?

ios - Sprite Kit,抑制速度较慢的iPhone的质量

C++ 代码风格 - 创建对象的最佳位置

java - 使用 hibernate 将数据从文件上传到 mysql 时减少时间

java - 使用 java (SHA-512) 创建与 symfony2 相同的哈希值

java - 连接被拒绝云 amqp

data-structures - 这个简单的纯功能队列有效吗?

c++ - 在 C++ 中将队列复制到 vector 是错误的