0

我正在编写一个程序来在 Java 中执行基本的队列操作。到目前为止,如果 add() 和 remove() 操作在同一个队列上执行,然后移动元素,则一切正常。我正在尝试做更多,但我无法实现它。问题是,在 add() 操作期间,程序不能将元素添加到现有队列中,而是必须返回一个带有添加元素的新 Queue 对象。必须在执行 add() 操作时创建新的队列对象,有关如何完成此操作的任何帮助?

4

1 回答 1

1

您可以使用集合类的复制构造函数来克隆队列,添加新项目,然后返回克隆。例如, LinkedList 具有复制构造函数

public Queue<T> myAdd(Queue<T> oldQueue, T newElem)
{
  Queue<T> newQueue = new LinkedList<T>(oldQueue);
  newQueue.add(newElem);
  return newQueue;
}
于 2013-08-24T21:25:43.627 回答