如何在Java中添加到队列的开头

我正在使用具有实例方法setNext,getNext的节点进行简单的队列实现。我正在编写的类具有“节点优先”和“节点最后”字段。我的入队方法必须有3种情况

(1)添加到列表末尾(常规队列实现)

this.back.setNext(node to add);
this.back = (node to add);

(2)添加到空白列表

this.front = this.back = (node to add);

(3)添加到列表的前面(从而将所有其他元素移回列表)

对我来说,这似乎很简单,但是我很难解决如何使所有下一个值匹配,而不覆盖任何节点。请让我知道可以执行此操作的算法。谢谢!