我正在编写一个用Java执行基本队列操作的程序。到目前为止,如果在同一队列上执行add()和remove()操作然后移动元素,则一切正常。我想做更多但是我无法实现它。问题是,在add()操作期间,程序不能将元素添加到现有队列,而是必须返回带有添加元素的新Queue对象。必须创建新的队列对象,执行add()操作的次数,有关如何执行此操作的任何帮助?
答案 0 :(得分:0)
您可以使用集合类的复制构造函数来复制队列,添加新项,然后返回克隆。例如,LinkedList具有copy constructor。
public Queue<T> myAdd(Queue<T> oldQueue, T newElem)
{
Queue<T> newQueue = new LinkedList<T>(oldQueue);
newQueue.add(newElem);
return newQueue;
}