如何在每次add()操作后返回一个新的队列对象?

时间:2013-08-24 21:15:36

标签: java data-structures constructor queue

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

1 个答案:

答案 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;
}