I have a Queue q1, that is implemented as a LinkedList, and I want to define a Queue q2, that is a separate, but identical identical instance of Queue q1.
How do I do that since Queue does not implement Cloneable?
In a one liner:
new LinkedList<>(myQueue);
Since Queue extends Collection, and collections have a constructor that takes another Collection, this is a quick way to do a shallow clone.
Substitute LinkedList with your own Queue implementation if you wish.
Also, read the javadocs. They have all the answers.